Uno dei miei clienti mi ha contattato per un problema con il server collegato tra SQL Server e MySQL Server. Dato che lavoro principalmente con SQL Server, è stato divertente installare e collegare MySQL Server. Mentre stavo cercando di simulare il problema e volevo creare un server collegato. In questo blog, impareremo come correggere l'errore di connessione MySQL [MySQL][Driver ODBC 5.3(w)]L'"IP" dell'host non è autorizzato a connettersi a questo server MySQL.
Ho installato MySQL Server su un server e ho fornito la password dell'utente root. Quando stavo provando a connettermi a MySQL Server usando ODBC.
Non appena ho cliccato sul test, vedo sotto l'errore.
L'IP menzionato nel messaggio di errore è l'IP del client che sta tentando di connettersi. Il messaggio di testo è il seguente:
Connessione non riuscita
[MySQL][Driver ODBC 5.3(w)]L'"IP" dell'host non può connettersi a questo server MySQL:
Non ho mai visto questo errore mentre lavoravo con SQL Server, quindi non avevo idea di questo errore. Durante la ricerca ho imparato di seguito.
Per impostazione predefinita, MySQL non consente ai client remoti di connettersi al database MySQL.
Il modo più veloce per verificarlo è il seguente. Se controlliamo la tabella mysql.user, c'è una voce per l'utente "root" con host "localhost".
Quindi, dobbiamo fornire l'autorizzazione per connetterci a MySQL Server a un client.
SOLUZIONE/SOLUZIONE
In primo luogo, assicurati che non sia un problema di firewall.
Come discusso in precedenza, è un problema con i permessi. Possiamo quindi dare il permesso usando il comando.
Use mysql; GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';
Puoi anche usare MySQL Workbench per farlo. Sotto lo screenshot indica i passaggi da seguire. Come per il comando, dobbiamo fornire nome utente, password e IP nella schermata grafica.
Spero che questo blog possa aiutarti. Dopo le modifiche di cui sopra, quando provi a connetterti al database mysql da questo client remoto (abbiamo fornito l'IP/nome host), non dovresti più ricevere il messaggio di errore "L'host non è autorizzato a connettersi a questo server MySQL". Possiamo anche utilizzare % per consentire a tutti gli host, ma non preferisco questa opzione.
Non sono un esperto di MySQL, quindi sentiti libero di commentare e fammi sapere se ci sono modi migliori.