Problemet här berodde på två samtidiga problem.
- På fjärrservern sattes den globala inställningen OLD_PASSWORDS till 1 - vilket betyder att lösenord hashades i metoden före 4.1.
- rotkontot hade kodats i den nyare hashmetoden trots den globala inställningen (förmodligen hade den angetts innan den här parametern ställdes in), vilket betyder att det beviljades åtkomst via ODBC-anslutningen eftersom den nya hashningen började identifieras.
Den globala inställningen fick funktionen PASSWORD() i MySQL att hasha alla inmatade värden i den gamla metoden istället för den nya metoden som den var tänkt att.
Jag antog att DBA hade satt OLD_PASSWORDS till 1 av en god anledning så som en lösning använde jag
Att använda funktionen password() hade inte fungerat tidigare eftersom den globala inställningen OLD_PASSWORDS=1 gjorde att den använde samma hashing som OLD_PASSWORD()-funktionen. Sessionsinställningen gjorde det möjligt för den att skapa rätt lösenord.