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.