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


8

Estou tentando executar o PHP 5.4.1 (compilado a partir do código-fonte), mas quando tento conectar no mysql 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?


Veja esta resposta em outra pergunta: stackoverflow.com/a/50776838/1041047
Robin Qiu

Respostas:


10

Tente ler isto: link

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

Se possível, use a solução no link da 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 ser interrompida. Tente também procurar suporte a senhas antigas para MySQL em PHP, mas não tenho certeza.



3

Sei que esse é um tópico antigo, mas resolvi o problema sem precisar atualizar / fazer o downgrade de nada. Basicamente, comentei a linha old_passwords = 1 no meu arquivo my.cnf, reiniciei o mysql, adicionei / modifiquei o usuário que acabou obtendo o hash de 16 bytes, depois voltei e descomentei a old_passwords = 1 linha e reiniciei o mysql. Então, basicamente:

  • comentar old_passwords = 1
  • reinicie o mysql
  • adicionar / modificar usuário
  • descomente old_passwords = 1
  • reinicie 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! ;)


1

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


1
Acabei de alterar a senha do usuário do banco de dados novamente, assumindo que o MySql usaria o novo hash. Funcionou. Nenhuma outra alteração foi necessária.
26619 eyal_katz

0

Recebi uma mensagem semelhante ao tentar atualizar minha instalação do mediawiki. Estou usando o Netfirms como meu provedor de hospedagem e resolvi isso entrando no painel de controle, acessando a área MySQL e alterando o banco de dados que o mediawiki estava usando. Pude então prosseguir com a atualização do mediawiki.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.