sql >> Databasteknik >  >> RDS >> Mysql

MySQL ODBC-länk misslyckas på grund av att autentiseringsprotokoll vägrats

Problemet här berodde på två samtidiga problem.

  1. På fjärrservern sattes den globala inställningen OLD_PASSWORDS till 1 - vilket betyder att lösenord hashades i metoden före 4.1.
  2. 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.



  1. Flera möjligheter för LINES TERMINATED BY och FIELDS TERMINATED BY - MySQL

  2. Hur kan jag undvika att få detta MySQL-fel Fel kolumnspecifikation för kolumn KOLUMNNAMN?

  3. Stäng av vetenskaplig notation MySQL

  4. 7 sätt att returnera alla tabeller med en primärnyckel i SQL Server