2013-06-06 14 views
8

Ho un server MySQL 5.5.32 in esecuzione su Ubuntu 12.04. Ubuntu viene eseguito su VM. La piattaforma host è Windows 7. Come posso connettermi con MySQL di Ubuntu da Windows?Come connettersi a un server MySQL in esecuzione su una macchina virtuale

ho fatto la seguente finora:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; 

FLUSH PRIVILEGES; 

Esecuzione di un show grant for root; visualizza questo:

+-------------------------------------------------------------+ 
| Grants for [email protected]%           | 
+-------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION | 
+-------------------------------------------------------------+ 

Ma quando provo a connettermi al server da SQLyog in esecuzione su Windows, ottengo un errore Error 2003 Cannot connect to mysql server on '192.168.xxx.xxx'.

L'IP viene inviato a SQLYog, l'ho ricevuto da ifconfig. Fornito l'indirizzo aggiuntivo.

inet addr:192.168.226.xxx Bcast:192.168.226.yyy 

L'indirizzo utilizzato non è corretto o questi sono i problemi di concessione? Per favore consiglio

+0

È possibile eseguire il ping della VM dal sistema operativo host? –

+0

@fliespl oops ... no ... non posso. Qualche suggerimento su come posso farlo accadere? –

+0

Si prega di provare prima la mia risposta (cambiare bind-indirizzo di mysql). –

risposta

14

Il problema è che (probabilmente) il tuo mysql è associato a 127.0.0.1 anziché 0.0.0.0.

Si dovrebbe cambiare legano in /etc/mysql/my.cnf al 0.0.0.0

bind-address = 0.0.0.0

E quindi riavviare mysql naturalmente.

+0

Qualcuno potrebbe spiegare perché questo risolve il problema? –

+0

Il collegamento a 127.0.0.1 consente le connessioni solo da localhost, mentre 0.0.0.0 consente da "qualsiasi host". –

+2

Io stesso ho dovuto cercarlo in '/ etc/mysql/mysql.conf.d /' con la versione 5.6.31 su Ubuntu. – ZbyszekKr

0

Errore n 2003: Impossibile connettersi al server MySQL su '192.168.xx'

significa semplicemente che il collegamento non è possibile per uno dei seguenti (o simili) motivi:

  • Nessun server MySQL in esecuzione nell'host specificato

  • La connessione al server MySQL non è consentita tramite TCP-IP. Controlla l'impostazione 'skip-networking' nel file di configurazione di MySQL (my.ini su Windows, my.cnf su Unix/Linux). Deve essere commentato come "# skip-networking". Se non è commentato, fallo e riavvia il server MySQL affinché la modifica abbia effetto. SQLyog deve connettersi tramite TCP-IP.

  • assicurarsi che si è in grado di connettersi alla porta MySQL usando telnet

    C: \ telnet hostname/porto IP_address

1

Il messaggio di errore Error No. 2003: Can't connect to MySQL server on 'localhost' (or some other host)

significa semplicemente che il collegamento è non è possibile per uno dei seguenti (o simili) motivi:

  • Nessun server MySQL in esecuzione nell'host specificato

  • La connessione al server MySQL non è consentita tramite TCP-IP. Controlla l'impostazione 'skip-networking' nel file di configurazione di MySQL (my.ini su Windows, my.cnf su Unix/Linux).Deve essere commentato come "# skip-networking". Se non è commentato, fallo e riavvia il server MySQL affinché la modifica abbia effetto. SQLyog deve connettersi tramite TCP-IP.

  • Alcuni problemi di rete impediscono la connessione. Potrebbe essere un malconfigurazione della rete o un problema del firewall. A volte abbiamo riscontrato che alcuni firewall bloccano le connessioni TCP-IP anche se affermano di essere disabilitati. Molto spesso aiuterà a disinstallare e reinstallare il firewall.

  • Quando si tenta di connettersi a un server MySQL su un ISP, questo messaggio di errore indica spesso che la connessione diretta a MySQL è stata bloccata. È necessario quindi utilizzare il tunneling HTTP o il tunnel SSH per connettersi.

1

Credo che il problema è con le impostazioni della scheda di rete nelle impostazioni VM

piaciuta questa nelle impostazioni VM.

Impostazioni VM -> Impostazioni Scheda di rete -> Selezionare colmato

La VM si collegherà alla rete fisica quando la connessione di rete è in modalità ponte.

Provare a eseguire il ping dell'host di macchine virtuali sul computer Windows dopo aver modificato la connessione di rete su con ponte.

Se la VM sta eseguendo il ping nella macchina Windows, funzionerà.

1

Nelle versioni più recenti di MySQL, invece di saltare-networking di default è ora di ascoltare solo su localhost bind-address = 127.0.0.1

Quindi è necessario aggiungere la IP macchina qui o semplicemente lasciare un commento, esso fuori se non ti preoccupi dei problemi di sicurezza.

Problemi correlati