Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Falha no link ODBC do MySQL devido ao protocolo de autenticação recusado


O problema aqui foi devido a dois problemas simultâneos.
  1. No servidor remoto, a configuração global OLD_PASSWORDS foi definida como 1, o que significa que as senhas estavam sendo criptografadas no método pré-4.1.
  2. a conta root foi codificada no método de hash mais recente, apesar da configuração global (presumivelmente, foi inserida antes que esse parâmetro fosse definido), o que significa que estava recebendo acesso por meio da conexão ODBC porque o novo hash foi reconhecido.

A configuração global fez com que a função PASSWORD() no MySQL fizesse o hash de qualquer valor inserido no método antigo em vez do novo método como deveria.

Eu assumi que o DBA havia definido OLD_PASSWORDS como 1 por um bom motivo, então como uma solução eu usei

O uso da função password() não funcionou anteriormente porque a configuração global OLD_PASSWORDS=1 fazia com que ela usasse o mesmo hash da função OLD_PASSWORD(). A configuração da sessão permitiu que produzisse a senha correta.