Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL ODBC Link nie działa z powodu odmowy protokołu uwierzytelniania

Problem był spowodowany dwoma współbieżnymi problemami.

  1. Na zdalnym serwerze globalne ustawienie OLD_PASSWORDS zostało ustawione na 1 – co oznacza, że ​​hasła były szyfrowane w metodzie sprzed wersji 4.1.
  2. konto root zostało zakodowane w nowszej metodzie haszowania pomimo ustawienia globalnego (przypuszczalnie zostało wprowadzone przed ustawieniem tego parametru), co oznacza, że ​​przyznano mu dostęp przez połączenie ODBC, ponieważ nowy hasz został rozpoznany.

Ustawienie globalne spowodowało, że funkcja PASSWORD() w MySQL zahaszowała każdą wprowadzoną wartość w starej metodzie zamiast w nowej, tak jak powinna.

Założyłem, że DBA ustawił OLD_PASSWORDS na 1 nie bez powodu, więc jako rozwiązanie użyłem

Korzystanie z funkcji password() wcześniej nie działało, ponieważ globalne ustawienie OLD_PASSWORDS=1 powodowało, że używała tego samego skrótu, co funkcja OLD_PASSWORD(). Ustawienie sesji umożliwiło wygenerowanie prawidłowego hasła.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać dostęp do elementów tablicy

  2. mysql COUNT(*) vs COUNT(DISTINCT col)

  3. Jak zaimplementować system filtrów w SQL?

  4. Sprawdź wartość w wierszu MySQL

  5. Jak wstawić wybrane kolumny z pliku CSV do bazy danych MySQL za pomocą funkcji LOAD DATA INFILE?