
Anteriormente, tive um problema relacionado aos arquivos .htacess, mas resolvi isso, mas no processo pensei que seria bom reinstalar o Apache2. Isso corrigiu todos os problemas do servidor web, mas quando tentei usar o MySQL, ocorreu este erro:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Por favor ajude:O. Estou bem em refazer todos os bancos de dados, mas não consigo fazer o MySQL funcionar, então basicamente não posso fazer nada com meu servidor até que isso seja corrigido.
Desde já, obrigado :)
Responder1
Quando tenho esse problema, o que faço são três coisas:
Verifique se o processo mysql está em execução. A
ps -e
deve resolver o problema. Para mim, não funcionou fazer um arquivoservice mysql stop
. Eu tive que manualmentekillall mysql
.Verificado para ter certeza de que my.cnf estava apontando corretamente para onde o arquivo de soquete deveria estar. Às vezes acontece que em uma configuração você tem /var/run... mas no arquivo de configuração diz outra coisa. A mesma coisa para o local onde o arquivo my.conf deveria estar. Por padrão, você o vê em /etc/mysql/my.cnf, mas em outros casos pode estar em /etc/my.cnf (e a pasta /etc/mysql não deve estar lá para confundir com 2 fontes de configuração do mysql)
Por último, certifique-se de que o diretório onde está o arquivo do soquete tenha as permissões corretas.
Na maioria das vezes, 1 será suficiente. Acontece, pelo menos para mim, ao fazer alguma configuração e recarrego o mysql por engano com uma configuração incorreta.
Responder2
O erro (2002) Não é possível conectar a ... normalmente significa que não há servidor MySQL em execução no sistema.y tente reiniciar
~$ sudo service mysql restart
mysql start/running, process 3912
ou pará-lo e depois iniciá-lo
:~$ sudo service mysql stop
mysql stop/waiting
~$ sudo service mysql start
mysql start/running, process 3994
Você também deve verificar se a porta TCP/IP que está usando não foi bloqueada por um firewall ou serviço de bloqueio de porta.leia mais aqui.
Verifique se o servidor está rodando naquele host executando sudo telnet some_host 3306
e pressionando a tecla Enter algumas vezes. (3306 é o número da porta padrão do MySQL. Altere o valor se o seu servidor estiver escutando em uma porta diferente.) Se houver um servidor MySQL em execução e escutando a porta,você deve receber uma resposta que inclua o número da versão do servidor. Se você receber um erro como telnet: Unable to connect to remote host: Connection refused
, entãonão há nenhum servidor em execução na porta especificada.
o meu, por exemplo (em espanhol):
~$ sudo netstat -a | grep mysql
tcp 0 0 localhost:mysql *:* ESCUCHAR
unix 2 [ ACC ] FLUJO ESCUCHANDO 18740 /var/run/mysqld/mysqd.sock
O MEU ESTÁ FUNCIONANDO: MAS VAMOS VER FAZENDO UM TELNET PARA MEU LOCALHOST. =D
~$ sudo telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
E
5.1.61-0ubuntu0.11.10.1"]+Ya]-gQO{<X)_&<:NXConnection closed by foreign host.
marcelo@acer:~$
dê uma olhada neste:http://ubuntuforums.org/showthread.php?t=804021