Mysql não está funcionando após o apache2 reinstalar?

3

Antes eu tinha um problema que tinha a ver com arquivos .htacess, mas consertei isso, mas no processo achei que seria bom instalar novamente o Apache2. Isso corrigiu todos os problemas do servidor web, mas quando tentei usar o MySQL, ele me deu este erro:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Por favor ajude: O. Eu estou ok com refazer todos os bancos de dados, mas eu não consigo fazer funcionar o MySQL, então eu basicamente não posso fazer nada com o meu servidor até que isso seja corrigido.

Agradecemos antecipadamente:)

    
por ccrama 16.03.2012 / 15:33

2 respostas

1

Quando tenho esse problema, o que faço são 3 coisas:

  1. Verifique se o processo mysql está sendo executado. Um ps -e deve fazer o truque. Para mim, não funcionou para fazer um service mysql stop . Eu tive que manualmente killall mysql .

  2. Verificado para garantir que o my.cnf estivesse 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 ele diz outra coisa. Mesma coisa para o lugar onde o arquivo my.conf deve 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 deveria estar lá para confundir com 2 fontes de configuração do mysql)

  3. Por último, verifique se o diretório em que o arquivo de soquete tem as permissões corretas.

Na maioria das vezes 1 será suficiente. Acontece, pelo menos para mim ao fazer alguma configuração e por engano recarregar o mysql com um conf ruim.

    
por Luis Alvarado 04.04.2012 / 02:57
1

O erro (2002) Não é possível conectar-se a ... normalmente significa que não há nenhum servidor MySQL em execução no sistema. tente reiniciar

~$ sudo service mysql restart
mysql start/running, process 3912

ou pare e inicie-o

:~$ 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 você está usando não foi bloqueada por um firewall ou serviço de bloqueio de portas. leia mais aqui .

Verifique se o servidor está sendo executado nesse 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 seu servidor estiver ouvindo uma porta diferente.) Se houver um servidor MySQL em execução e ouvindo a porta, você deverá obter 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ão, não haverá nenhum servidor em execução na porta especificada .

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

A MINA ESTÁ A FUNCIONAR: MAS VAMOS FAZER UM TELNET PARA O 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 nisso: link

    
por maniat1k 04.04.2012 / 02:35

Tags