2011-10-13 19 views
14

Sto usando PHP e MySQL per creare una connessione al database, l'unica modifica è che sto tentando di accedere al mio server remoto dal mio computer locale usando il mio indirizzo IP del server.Mysql - connettersi al server remoto usando l'indirizzo IP

mysql_connect("x.xx.xx.x","username","password") or die(mysql_error()); 

e l'errore che ottengo è Unable to connect to the given host. L'utente ha tutti i privilegi e i diritti.

+2

è il tuo server accessibile dal tuo computer? Soprattutto la porta del server MYSQL? – Fender

+0

prova a connetterti manualmente da un terminale, che indicherà dove si trova il problema. – lynks

risposta

19

La maggior parte delle installazioni predefinite di MySQL ascolta solo la macchina locale.

Cercare l'impostazione bind-address in my.cnf sul server e assicurarsi che sia in ascolto sull'indirizzo IP che si sta indirizzando. Potrebbe anche essere necessario assicurarsi che skip-networkingnon sia acceso!

alternativa (! E meno sicuro) la seguente vi configurarlo per l'ascolto su tutti gli indirizzi - locali e remoti:

bind-address = 0.0.0.0 
+0

Grazie a tutti voi per il grande aiuto lasciatemi provare tutto questo e credo che questo risolverà il mio problema – Frank

3

tenta di aggiungere un utente (nome utente) è consentito connettersi da IP:

mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY "PASSWORD"; 

user-name è il nome utente che vorresti creare (come 'widor') IP è l'indirizzo IP pubblico della tua connessione remota (come '195.xyz')

Naturalmente, limitare i privilegi che vuoi concedere (TUTTI I PRIVILEGI probabilmente non è la vostra scelta)

+0

6 anni dopo e questo è stato super utile, avevo tutto configurato correttamente, semplicemente non davo all'utente l'accesso a tutto ciò di cui avevo bisogno. – Craig

2

Prima di provare a utilizzare PHP questo è tutto. Aprite il vostro terminale o console e digitare quanto segue:

$ mysql -u nome utente -h x.xx.xx.x -p

quindi immettere la password

o Windows quindi digitate:

\ percorso \ a \ mysql.exe -u nomeutente -h x.xx.xx.x -p

quindi inserisci la tua password

Questo ti darà una risposta più dettagliata sul problema di autenticazione che sta arrivando. E puoi essere sicuro al 100% che il tuo accesso remoto dal tuo indirizzo IP funzioni. Se funziona bene, è qualcosa nel tuo codice PHP che ti manca.

Problemi correlati