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?
Respostas:
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.
fonte
fonte
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:
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! ;)
fonte
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.
fonte
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.
fonte