mysql_connect (): O servidor solicitou o método de autenticação desconhecido para o cliente [mysql_old_password] em

6

Estou tentando executar o PHP 5.4.1 (compilado a partir do código-fonte), mas quando tento conectar no mysql eu recebo:

Warning: mysql_connect(): The server requested authentication method unknown to the client [mysql_old_password] in

Ao usar o PHP 5.3 / 5.2, ele funciona normalmente. Alguma idéia do que causa esse problema?

    
por Fernando 02.05.2012 / 19:32

6 respostas

8

Tente ler isto: link

O MySQL introduziu hashes de senha mais longos na (i) versão 4.1, e seu servidor provavelmente ainda os utiliza (verifique se há hashes de senha de 16 bytes na tabela de usuários do mysql). Versões mais recentes usam hashes de senha mais longos. Seu servidor suporta ambos, mas seu cliente (php) parece suportar apenas novos nesta versão (e em).

Se for possível, use a solução do link na primeira linha e defina sua senha novamente com o novo hash, mas cuidado, se você estiver usando outros clientes (antigos) que dependem de senhas antigas, a compatibilidade pode pausa. Também tente procurar suporte a senhas antigas para o MySQL em PHP, mas não tenho certeza sobre isso.

    
por 02.05.2012 / 19:40
3

Eu sei que este é um tópico antigo, mas trabalhei em torno do problema, sem ter que atualizar / fazer downgrade de nada. Basicamente, eu comentei a linha old_passwords = 1 no meu arquivo my.cnf, reiniciei o mysql, adicionei / modifiquei o usuário que eventualmente pegou o hash de 16 bytes, então eu voltei e descomentei a linha old_passwords = 1 e reiniciei o mysql. Então basicamente:

  • comente old_passwords = 1
  • reiniciar o mysql
  • adicionar / modificar usuário
  • descomente old_passwords = 1
  • reiniciar o mysql

Então, você tem: 1 usuário usando o novo tipo de senha, enquanto outros usuários têm seus tipos de senha antigos. E todos podem entrar! ;)

    
por 26.04.2013 / 22:29
0

Eu tive uma mensagem semelhante ao tentar atualizar minha instalação do mediawiki. Eu estou usando o Netfirms como meu provedor de hospedagem e resolvi isso fazendo login no painel de controle, indo para a área do MySQL e alterando o banco de dados que o mediawiki estava usando. Eu pude continuar com a atualização do mediawiki.

    
por 18.03.2016 / 17:14
0

Muitas vezes isso pode acontecer se o seu servidor MYSQL estiver usando um hash de senha antigo , alterar a senha ou atualizar o servidor para obter o hash de senha mais recente que corrige o problema de autenticação.

    
por 04.10.2018 / 06:13
0
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
    
por 06.11.2018 / 05:14
0

Por favor, execute esta consulta abaixo no Mysql. Você não precisa alterar nada no arquivo my.cnf.

ALTERAR USUÁRIO 'root' @ 'localhost' IDENTIFICADO COM mysql_native_password POR ' rootpassword ';

    
por 21.11.2018 / 10:53

Tags