Weboldal keresés

A "MySQL ERROR 1819 (HY000):" javítása Linux rendszeren


Amikor egy viszonylag gyenge jelszóval rendelkező MySQL felhasználót hoz létre, előfordulhat, hogy a „MySQL ERROR 1819 (HY000): Jelszava nem felel meg a jelenlegi házirendi követelményeknek” hibaüzenetet. Technikailag ez nem hiba, hanem értesítés arról, hogy olyan jelszót használ, amely nem felel meg a javasolt jelszószabályzati követelményeknek.

Más szóval, gyenge jelszót használ, amely könnyen kitalálható vagy brutálisan kényszeríthető. A beépített biztonsági mechanizmus visszatartja a felhasználókat attól, hogy gyenge jelszavakat hozzanak létre, amelyek hajlamossá tehetik az adatbázist a jogsértésekre.

Például a képen látható felhasználó létrehozásakor hibába ütköztem

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

Nem véletlen, hogy a jelszó rendkívül gyenge, és biztonsági kockázatot jelenthet.

A MySQL ERROR 1819 (HY000) megoldása Linux alatt

A MySQL adatbázis egy validate_password beépülő modullal érkezik, amely engedélyezése esetén jelszó-ellenőrzési szabályzatot kényszerít ki. A beépülő modul 3 szintű jelszó-érvényesítési házirendet kényszerít ki.

  • ALACSONY: Lehetővé teszi a felhasználók számára, hogy 8 vagy kevesebb karakterből álló jelszót állítsanak be.
  • KÖZEPES: Lehetővé teszi a felhasználók számára, hogy 8 vagy kevesebb karakterből álló jelszót állítsanak be vegyes kis- és nagybetűkkel és speciális karakterekkel.
  • STRONG: Lehetővé teszi a felhasználók számára, hogy olyan jelszót állítsanak be, amely a közepes szintű jelszó összes attribútumával rendelkezik, szótárfájllal.

Alapértelmezés szerint a jelszó házirendje KÖZEPES. A jelszó házirend szintjét a következő parancs végrehajtásával ellenőrizheti:

SHOW VARIABLES LIKE 'validate_password%';

Ha futtatja a parancsot, és megkapja az üres kimeneti készletet, akkor a bővítmény még nincs engedélyezve.

A validate_password beépülő modul engedélyezéséhez futtassa az alábbi parancsokat.

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

A beépülő modul aktiválásának ellenőrzéséhez futtassa a parancsot.

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

Meg kell kapnia az alábbi kimenetet:

A probléma megoldásához a jelszó-ellenőrzési házirendet a legalacsonyabb szintre kell állítani. Tudom, hogy ez ellentmondásosnak hangzik, mivel lehetőséget teremt gyenge jelszavak beállítására, amelyek végül azt okozhatják, hogy a hackerek veszélyeztetik az adatbázist.

Ha azonban továbbra is ragaszkodik ahhoz, hogy a saját útját járja, a következőket teheti.

A MySQL jelszó-érvényesítési szabályzat módosítása

A MySQL ERROR 1819 (HY000) hiba megoldásához állítson be alacsonyabb jelszóérvényesítési házirendet az ábrán látható módon.

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

Ezt követően megerősítheti a jelszó-érvényesítési házirend szintjét.

SHOW VARIABLES LIKE 'validate_password%';

Most folytathatja, és kívánsága szerint viszonylag gyenge jelszót rendelhet hozzá.

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

A „KÖZEPES” jelszóházirend-szintre való visszatéréshez egyszerűen hívja ki a parancsot:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Következtetés

Személy szerint nyilvánvaló okokból nem javaslom alacsonyabb szintű jelszóházirend beállítását. Legyen szó normál felhasználóról vagy adatbázis-felhasználóról, mindig ajánlott erős MySQL-jelszót beállítani, amely több mint 8 karakterből áll, nagybetűk, kisbetűk, numerikus és speciális karakterek keverékével.

Ez az útmutató azoknak szól, akik szeretnék tudni, hogyan kell eligazodni egy ilyen hiba esetén, különben mindig ajánlott erős jelszó beállítása.