Eu tenho acesso total a um banco de dados 'MYSQL 5.0.27-community-nt-log' uma de nossas novas atualizações para um aplicativo principal requer PHP 5.4, depois de instalar e configurar, estou preso no erro em relação a senhas antigas e novas.
Eu segui todos os tópicos que encontrei e tenho certeza que entendi o processo:
- Desabilitar 'old_passwords'
- Redefina a senha para a nova criptografia 41
Mas não consigo definir 'old_passwords' como 'OFF'. Fazendo login como root, tentei o seguinte:
- Eu o removi do arquivo my.cnf (também tentei defini-lo como '0', 'False' etc.)
- Configurando-o manualmente no navegador de consulta globalmente e na sessão
- Ativando/desativando a opção no administrador MYSQL
e reiniciei o serviço, mas 'mostrar variáveis como 'old_passwords' sempre relata como 'ON'.
Alterar a senha ainda permanece em um comprimento de 16.
Tenho certeza de que, assim que conseguir desativar essa variável, ficarei bem. Algum conselho?
Tenho 3 sugestões adicionais (escolha uma):
old_password=1
desde o início)mysql.user
para o formato de senha criptografada de 41 caracteresFaça o que fizer, não use a função MD5 para criar novas senhas. Use a função SENHA. É muito diferente do MD5:
A função de senha A função PASSWORD é equivalente a
Eu aprendi isso há 2 anos neste post do blog PalominoDB .
Você pode controlar a função PASSWORD com a função OLD_PASSWORD . Compare a saída de
SELECT PASSWORD(@my_new_password);
WITHSELECT OLD_PASSWORD(@my_new_password);
.Esqueci de retornar antes, mas nenhuma das respostas fornecidas funcionou e, depois de alguns dias brincando, acabei mordendo a bala e atualizei o servidor MySQL para a versão mais recente.
Então, no final, nunca encontrei uma solução viável, mas o problema acabou.
Se você configurou
old_passwords=1
mais abaixo em seu arquivo my.cnf, a última configuração tem prioridade. Portanto, verifique o tamanho total do seu my.cnf para outra linha que define essa variável.No meu caso, houve um erro no log:
O
mysql_fix_privilege_tables
foi substituído por mysql_upgrade no MySQL 5.1.Para o meu Mariadb 5.5 corri para consertar:
E reiniciei o serviço.