Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problemas na conexão com o servidor mysql:ERRO 2003 (HY000)


Essa mensagem de erro é gerada pelo cliente (não pelo servidor) porque foi tentada uma conexão com o servidor, mas o servidor não pôde ser alcançado.

Existem várias causas possíveis para isso:

1) verifique se o mysqld está rodando no servidor:
ps -ef | grep mysqld

deve retornar algo como:
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 ...

Para executar o serviço daemon, execute em redhat/fedora/centos:
service mysqld start

ou na versão do Fedora>=16, que depende do systemd:
systemctl start mysqld.service

e para habilitar a inicialização automática do daemon na inicialização do sistema:
systemctl enable mysqld.service

2) verifique a porta na qual o mysqld está rodando no servidor:
netstat -lnp | grep mysql

deve retornar:
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

o último é o soquete para conexões locais, o primeiro a porta tcp para rede (padrão 3306). Se a porta não for a porta padrão, você deverá definir a porta de conexão no cliente. Se estiver usando o cliente mysql:
mysql dbname -uuser -ppasswd -P<port> ...

3) estando em um endereço de rede diferente, verifique se o servidor escuta os endereços de rede dos quais você está se conectando:no arquivo /etc/my.cnf procure a linha:
bind_address=127.0.0.1

se o endereço for 127.0.0.1 somente conexões locais são permitidas; se fosse 172.16.1.0, você não poderia conectar de 172.16.2.xxx

4) verifique se no servidor não há firewall rodando e bloqueando as conexões com a porta mysql (3306 é a porta padrão); se é uma corrida redhat/fedora/centos
service iptables status