Mysql
 sql >> Database >  >> RDS >> Mysql

Perché il mio codice php non si connette al mio database MySql remoto?

La prima cosa che controllerei (se non l'hai fatto) è che puoi effettivamente connetterti al database dal computer che esegue il tuo script PHP. Questo per escludere un problema di rete o firewall.

La prima cosa sarebbe eseguire il ping del server. In un prompt DOS eseguito:

ping servername

Dove "servername" è la stessa stringa che hai inserito nello script PHP sopra. Se questo non risponde con una stringa simile a quella sotto, nello specifico, la prima parola non è "Rispondi":

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Ciò significa che molto probabilmente non c'è connettività tra il computer che esegue lo script PHP e il server mysql. Verificherei quindi se il server e il computer sono collegati correttamente alla rete, se il server è attivo e se non è presente un firewall nel tuo computer che esegue lo script PHP o sul server.

Ora, se il tuo test sopra mostra "Rispondi" al ping, puoi verificare se riesci a connetterti al servizio Mysql dal tuo server php. Per questo puoi usare Mysql workbench (http://dev.mysql.com/downloads/workbench/ ) e da lì crea una connessione con i parametri del database che stai dando al tuo script. Se non riesci a connetterti con Mysql workbench, potresti dover disabilitare un firewall nel tuo server Mysql, un firewall nel tuo computer che esegue PHP o abilitare il server Mysql ad accettare connessioni remote per il database e il nome utente che usi nel tuo script PHP ( alcune distribuzioni Mysql server sono installate per accettare solo connessioni locali per sicurezza).

Se il problema è un'autorizzazione nel server (l'utente può connettersi solo localmente ma non da un computer remoto, ad esempio), puoi abilitare l'autorizzazione nel server Mysql con il comando GRANT:http://dev.mysql.com/doc/refman/5.1/en/grant.html