Se hai pieno accesso al tuo server (sono richiesti privilegi di root):
Fase 1:modifica my.cnf (di solito si trova in /etc)
Trova la riga seguente:[mysqld]
e assicurati che la riga skip-networking
è commentato (o rimuove la riga) e aggiungi la riga seguente:
bind-address=YOUR-SERVER-IP
Ad esempio, se l'IP del tuo server MySQL è 66.166.170.28, l'intero blocco dovrebbe avere il seguente aspetto:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 66.166.170.28
# skip-networking
.......
Dove
- indirizzo vincolante :indirizzo IP a cui associare.
- Salta la rete :Non ascoltare affatto le connessioni TCP/IP. Tutte le interazioni con mysqld devono essere effettuate tramite socket Unix. Questa opzione è altamente consigliata per i sistemi in cui sono consentite solo richieste locali. Poiché è necessario consentire la connessione remota, questa riga dovrebbe essere rimossa da my.cnf o metterla in stato di commento.
Fase 2:Concedi l'accesso a tutti gli host
Avvia il monitor MySQL con questo comando:mysql
o /usr/local/mysql/bin/mysql
. Il tuo prompt della shell ora dovrebbe apparire così:mysql>
. Esegui questo comando:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
Dove:
- NOME UTENTE è il nome utente che usi quando ti connetti usando il tuo script php.
- PASSWORD è la password che usi durante la connessione.
Ora devi svuotare i privilegi di MySQL. Esegui questo comando:
FLUSH PRIVILEGES;
Esegui questo comando per uscire da MySQL:
exit;
Fase 3:riavvia mysql demone
/etc/init.d/mysqld restart
o
/etc/init.d/mysql restart
a seconda di quale distribuzione Linux è attualmente in esecuzione sul tuo server.