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

Problemi di connessione al server MySQL:ERRORE 2003 (HY000)

Quel messaggio di errore è generato dal client (non dal server) perché è stata tentata una connessione al server ma non è stato possibile raggiungere il server.

Ci sono varie possibili cause:

1) controlla che mysqld sia in esecuzione sul server:

ps -ef | grep mysqld

dovrebbe restituire qualcosa come:

root      2435  2342  0 15:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/var/ --user=mysql  
mysql     2480  2435  0 15:49 pts/1    00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/var/ --user=mysql ...

Per eseguire il servizio demone, esegui su redhat/fedora/centos:

service mysqld start

o su Fedora release>=16, che si basa su systemd:

systemctl start mysqld.service

e per abilitare l'avvio automatico del demone all'avvio del sistema:

systemctl enable mysqld.service

2) controlla la porta su cui è in esecuzione mysqld sul server:

netstat -lnp | grep mysql

dovrebbe restituire:

tcp        0      0 0.0.0.0:3306 0.0.0.0:* LISTEN 2480/mysqld 
unix  2      [ ACC ]     STREAM     LISTENING     8101   2480/mysqld /tmp/mysql.sock

il secondo è il socket per le connessioni locali, il primo la porta TCP per il networking (default 3306). Se la porta non è quella predefinita, è necessario impostare la porta di connessione sul client. Se si utilizza il client MySQL:

mysql dbname -uuser -ppasswd -P<port> ...

3) trovandosi su un indirizzo di rete diverso, controlla che il server ascolti gli indirizzi di rete da cui ti stai connettendo:nel file /etc/my.cnf cerca la riga:

bind_address=127.0.0.1

se l'indirizzo è 127.0.0.1 sono consentite solo connessioni locali; se fosse 172.16.1.0, non potresti connetterti da 172.16.2.xxx

4) verificare che sul server non ci sia firewall in esecuzione e che blocchi le connessioni alla porta mysql (3306 è la porta di default); se è una corsa redhat/fedora/centos

service iptables status