Problém byl způsoben dvěma souběžnými problémy.
- Na vzdáleném serveru bylo globální nastavení OLD_PASSWORDS nastaveno na 1 – což znamená, že hesla byla hašována metodou starší než 4.1.
- Účet root byl zakódován v novější metodě hašování navzdory globálnímu nastavení (pravděpodobně byl zadán před nastavením tohoto parametru), což znamená, že mu byl udělen přístup přes připojení ODBC, protože nové hašování bylo rozpoznáno.
Globální nastavení způsobilo, že funkce PASSWORD() v MySQL hašovala jakoukoli zadanou hodnotu ve staré metodě namísto nové metody, jak měla.
Předpokládal jsem, že DBA nastavil OLD_PASSWORDS na 1 z dobrého důvodu, takže jsem použil řešení
Použití funkce password() dříve nefungovalo, protože globální nastavení OLD_PASSWORDS=1 způsobilo použití stejného hashování jako funkce OLD_PASSWORD(). Nastavení relace mu umožnilo vytvořit správné heslo.