Não é possível conectar-se ao MySQL via CLI ou phpMyAdmin, mas o WordPress ainda conecta bem

0

Esta é a primeira vez que eu tive que fazer uma pergunta - estou realmente perplexo.

Eu tenho o mysql instalado e rodando em um servidor linux (Ubuntu) e esta manhã tentei logar no phpMyAdmin. Recebi um erro dizendo que não consigo fazer login. Então eu fui para a linha de comando, digitei mysql -u root -p e quando solicitado pela senha, digitei corretamente. Eu então recebi o seguinte erro:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Aqui está a coisa estranha:

Não consigo me conectar via mysql na linha de comando nem pelo phpMyAdmin, mas todos os meus sites do WordPress estão funcionando bem. No entanto, se eu tentar fazer o login com uma das credenciais dos sites do WP, recebo o mesmo tipo de erro acima.

Eu verifiquei etc/mysql/my.cnf e vi: bind-address = 127.0.0.1 . Eu tentei comentar isso e reiniciar o mysql, sem sorte. Eu tentei mudar o endereço de ligação para localhost, e ainda sem sorte. Agora está de volta a bind-address = 127.0.0.1 . Esta é a mesma configuração que eu tenho para um segundo Linode com exatamente as mesmas configurações de IP / rede privada como esta (eu configurei ambos IPs estáticos ao mesmo tempo), mas o outro servidor está funcionando bem (pode conectar-se ao MySQL). ) e este parece apenas me odiar.

Então a grande questão é: O que está fazendo com que o mysql não permita mais que eu me conecte, por que meus sites WordPress ainda usam suas credenciais (mas não consigo via phpmyadmin nem pela linha de comando) e como posso evitar que isso me iluda no futuro?

Detalhes possivelmente pertinentes:

  • Dois dias atrás eu configurei um IP privado neste linode.

  • cat /etc/hosts contém localhost

    127.0.0.1 localhost.localdomain localhost

  • ping localhost retorna resultados:

    ping localhost
    PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
    64 bytes from localhost.localdomain (127.0.0.1): icmp_req=1 ttl=64 time=0.066 ms
    64 bytes from localhost.localdomain (127.0.0.1): icmp_req=2 ttl=64 time=0.062 ms
    
  • Rebooted recentemente pela primeira vez em dois meses - isso poderia ter algo a ver com isso?

  • Parece que a senha de root foi alterada automaticamente ...

Muito obrigado por me ajudar.

    
por user236192 15.01.2014 / 19:51

1 resposta

0

Eu encontrei algo parecido com isso, enquanto configurava o mysql. O MySQL não considera localhost e 127.0.0.1 como o mesmo endereço acessível (apesar dos documentos geralmente os usarem de forma intercambiável). O truque é, no seu caso, ficar conectado para fazer alterações em quem pode se conectar e como. Eu tentaria conectar ao IP de loopback explicitamente:

mysql -h 127.0.0.1 -u root -p

Se isso não funcionar, você terá que vasculhar as configurações do wordpress para encontrar as configurações de host, porta, nome de usuário e senha. A boa notícia é que, se o wordpress está funcionando, há uma maneira de entrar.

Uma vez conectado, seu problema está no banco de dados mysql ( use mysql ) na tabela de usuários. Ou é que o controle de acesso permite apenas um dos 127.0.0.1 / localhost / IP externo, ou usuários anônimos que estão bagunçando suas conexões.

Para ver se você tem usuários anônimos:

SELECT User,host from mysql.user;

Se você vir algo com blank @ localhost etc, são eles. Para remover:

DELETE From mysql.user where User='' and host='localhost';
FLUSH PRIVILEGES;
    
por Rudu 16.01.2014 / 17:40