GNU/Linux >> Znalost Linux >  >> Linux

Oprava – CHYBA MySQL 1819 (HY000):Vaše heslo nesplňuje aktuální požadavky zásad

Jak jste si možná všimli, budete vyzváni, abyste povolili VALIDATE PASSWORD při nastavení hesla pro kořen MySQL uživatel. Pokud je povolena, komponenta Validate Password automaticky zkontroluje sílu daného hesla a vynutí uživatele, aby nastavili pouze hesla, která jsou dostatečně bezpečná. Pokud zadáte slabé heslo, narazíte na chybu, jako je tato – ERROR 1819 (HY000): Your password does not satisfy the current policy requirements .

Technicky vzato se ve skutečnosti nejedná o chybu. Toto je vestavěný bezpečnostní mechanismus, který upozorňuje uživatele, aby poskytovali pouze silná hesla na základě aktuálních požadavků politiky hesel.

Dovolte mi ukázat vám příklad. Přihlašuji se k serveru MySQL jako root uživatel pomocí příkazu:

$ mysql -u root -p

Vytvořte databázového uživatele se slabým heslem:

mysql> create user 'ostechnix'@'localhost' identified by 'mypassword';

A narazím na následující chybu:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Vidět? Validate Password komponenta mi neumožňuje vytvořit uživatele se slabým heslem (tj. mypassword v tomto případě).

Tato chyba se bude zobrazovat, dokud heslo nebude splňovat požadavky aktuálních zásad pro hesla nebo dokud nezakážete Validate Password součástka. Jak to udělat, uvidíme v následující části.

Oprava – CHYBA MySQL 1819 (HY000):Vaše heslo nesplňuje aktuální požadavky zásad

Při Validate Password se vynucují tři úrovně zásad ověřování hesla plugin je povolen:

  • NÍZKÁ Délka>=8 znaků.
  • STŘEDNÍ Délka>=8, číslice, velká a malá písmena a speciální znaky.
  • STRONG Délka>=8, číslice, velká a malá písmena, speciální znaky a soubor slovníku.

Na základě těchto úrovní zásad musíte nastavit vhodné heslo. Pokud je například zásada ověřování hesla nastavena na Střední, musíte nastavit heslo, které má alespoň 8 znaků včetně číslic, malých písmen, velkých písmen a speciálních znaků.

Nejprve musíme najít aktuální úroveň zásad pro hesla. Chcete-li tak učinit, spusťte následující příkaz k zobrazení systémových proměnných modulu Password Validation Plugin:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Ukázkový výstup:

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.09 sec)

Jak vidíte, aktuálně vynucená úroveň hesla je Střední . Naše heslo by tedy mělo mít 8 znaků s číslem, malými a velkými písmeny a speciálními znaky.

Nastavím toto heslo - Password123#@! pomocí příkazu:

mysql> create user 'ostechnix'@'localhost' identified by 'Password123#@!';
Query OK, 0 rows affected (0.36 sec)

Vidět? Už to funguje! Aby bylo možné opravit "ERROR 1819 (HY000)... ", musíte zadat heslo podle aktuálních zásad ověřování hesla.

Změňte zásady ověřování hesla v MySQL

Můžete také vyřešit "ERROR 1819 (HY000)... " nastavením zásad pro hesla nižší úrovně.

Chcete-li tak učinit, spusťte z příkazového řádku mysql následující příkaz:

mysql> SET GLOBAL validate_password.policy = 0;

Nebo,

mysql> SET GLOBAL validate_password.policy=LOW;

Poté zkontrolujte, zda byla zásada ověřování hesla změněna na nízkou hodnotu:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Ukázkový výstup:

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 8     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

Nyní můžete vytvořit uživatele se slabým heslem jako níže:

mysql> create user 'senthil'@'localhost' identified by 'password';

Chcete-li se vrátit zpět k politice STŘEDNÍ úrovně, jednoduše spusťte tento příkaz z řádku mysql:

mysql> SET GLOBAL validate_password.policy=MEDIUM;

Pokud se zásady hesla nezmění, ukončete výzvu mysql a restartujte službu mysql z okna Terminálu:

$ sudo systemctl restart mysql

Nyní by to mělo fungovat.

Pozor: Jeden z našich čtenářů poukázal na to, že v následujícím příkazu je překlep:

mysql> SET GLOBAL validate_password.policy=LOW;

Mělo by to být:

mysql> SET GLOBAL validate_password_policy=LOW;

Všimněte si podtržítka ve výše uvedeném příkazu. Protože jsem smazal nastavení, nemám žádný způsob, jak ověřit tento příkaz. Předpokládám však, že příkaz byl v novějších verzích MySQL změněn.

Zakázat zásady ověřování hesla

Pokud chcete vytvářet uživatele se slabým heslem, jednoduše deaktivujte Validate Password komponentu úplně a po vytvoření uživatelů ji znovu povolte.

Přihlaste se k serveru MySQL:

$ mysql -u root -p

Chcete-li dočasně deaktivovat komponentu Validate Password, spusťte z příkazového řádku MySQL následující příkaz:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

Vytvořte uživatele s libovolným heslem podle vašeho výběru:

mysql> create user 'kumar'@'localhost' identified by '123456';

Nakonec povolte komponentu Ověřit heslo:

mysql> INSTALL COMPONENT "file://component_validate_password";

Osobně nedoporučuji měnit politiku na nižší úroveň nebo deaktivovat politiku hesel. Ať už se jedná o uživatele databáze nebo běžného uživatele, vždy používejte silné heslo s více než 8 znaky včetně číslic, malých a velkých písmen a mezer.

Závěr

V této příručce jsme se dozvěděli o jedné z běžných chyb MySQL – ERROR 1819 (HY000): Your password does not satisfy the current policy requirements a jak to opravit v Linuxu. Také jsme se naučili, jak deaktivovat zásady hesel, aby byla povolena slabá hesla.

Související čtení:

  • Nainstalujte Apache, MySQL, PHP (LAMP Stack) na Ubuntu 20.04 LTS
  • Nainstalujte Nginx, MySQL, PHP (LEMP Stack) na Ubuntu 20.04 LTS

Linux
  1. Kdy se zobrazí chybová zpráva „pracovní místa:nenalezena“?

  2. Jak opravit chybu editoru Vi / Vim — E319:Omlouváme se, ale příkaz není v této verzi dostupný

  3. Jak změnit heslo root mysql

  1. Opravit repozitář nemá soubor s vydáním Chyba v Ubuntu – průvodce krok za krokem?

  2. MySQL selže na:mysql ERROR 1524 (HY000):Plugin 'auth_socket' není načten

  3. Změna hesla uživatele root nezmění heslo sudo

  1. Opravit chybu ZipArchiv třídy nenalezen [PHP 7]

  2. Jak opravit Windows nemohl analyzovat nebo zpracovat soubor odpovědí bezobslužné služby pro Pass Specialize

  3. CentOS – chyba příkazu semanage nenalezena – Oprava je tady!