Wyszukiwanie w witrynie

Jak naprawić „BŁĄD MySQL 1819 (HY000):” w systemie Linux


Podczas tworzenia użytkownika MySQL ze stosunkowo słabym hasłem może pojawić się błąd „BŁĄD MySQL 1819 (HY000): Twoje hasło nie spełnia bieżących wymagań zasad”. Technicznie rzecz biorąc, nie jest to błąd, ale powiadomienie, że używasz hasła, które nie spełnia zalecanych wymagań polityki haseł.

Innymi słowy, używasz słabego hasła, które można łatwo odgadnąć lub wymusić. Wbudowany mechanizm bezpieczeństwa zniechęca użytkowników do tworzenia słabych haseł, które mogą narazić bazę danych na naruszenia.

Na przykład napotkałem błąd podczas tworzenia użytkownika, jak pokazano

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Nie ma wątpliwości, że hasło jest wyjątkowo słabe i może stanowić zagrożenie dla bezpieczeństwa.

Jak rozwiązać BŁĄD MySQL 1819 (HY000) w systemie Linux

Baza danych MySQL jest dostarczana z wtyczką validate_password, która po włączeniu wymusza zasady sprawdzania poprawności haseł. Istnieją 3 poziomy zasad sprawdzania poprawności haseł, które są egzekwowane przez wtyczkę.

  • NISKI: umożliwia użytkownikom ustawienie hasła składającego się z 8 lub mniej znaków.
  • ŚREDNI: umożliwia użytkownikom ustawienie hasła składającego się z 8 lub mniej znaków, z różnymi wielkościami liter i znakami specjalnymi.
  • STRONG: umożliwia użytkownikom ustawienie hasła posiadającego wszystkie atrybuty hasła średniego poziomu z uwzględnieniem pliku słownika.

Domyślnie polityka haseł jest ustawiona na ŚREDNI. Możesz potwierdzić poziom polityki haseł, wykonując polecenie:

SHOW VARIABLES LIKE 'validate_password%';

Jeśli uruchomisz polecenie i uzyskasz pusty zestaw wyjściowy, oznacza to, że wtyczka nie jest jeszcze włączona.

Aby włączyć wtyczkę validate_password, uruchom poniższe polecenia.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
mysql> install plugin validate_password soname 'validate_password.so';

Aby potwierdzić, że wtyczka jest aktywowana, uruchom polecenie.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

Powinieneś otrzymać wynik pokazany poniżej:

Aby rozwiązać ten problem, należy ustawić zasady sprawdzania poprawności haseł na najniższy poziom. Wiem, że brzmi to sprzecznie z intuicją, ponieważ stwarza możliwość ustawienia słabych haseł, co może ostatecznie spowodować naruszenie bezpieczeństwa bazy danych przez hakerów.

Jeśli jednak nadal upierasz się przy swoim, oto, co możesz zrobić.

Jak zmienić zasady sprawdzania poprawności hasła MySQL

Aby rozwiązać błąd MySQL ERROR 1819 (HY000), ustaw niższą zasadę sprawdzania poprawności hasła, jak pokazano.

mysql> SET GLOBAL validate_password_policy=LOW;
OR
mysql> SET GLOBAL validate_password_policy=0;

Następnie możesz potwierdzić poziom zasad sprawdzania poprawności hasła.

SHOW VARIABLES LIKE 'validate_password%';

Teraz możesz kontynuować i przypisać stosunkowo słabe hasło zgodnie ze swoim życzeniem.

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Aby powrócić do poziomu polityki haseł „ŚREDNI”, po prostu wywołaj polecenie:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Wniosek

Osobiście nie polecałbym ustawiania polityki haseł niższego poziomu z oczywistych powodów. Niezależnie od tego, czy jest to zwykły użytkownik, czy użytkownik bazy danych, zaleca się, aby zawsze ustawiać silne hasło MySQL składające się z więcej niż 8 znaków, składających się z wielkich i małych liter, cyfr i znaków specjalnych.

Ten przewodnik jest przeznaczony dla tych, którzy chcą wiedzieć, jak poruszać się po takim błędzie, w przeciwnym razie zawsze zaleca się ustawienie silnego hasła.