Kako popraviti "MySQL ERROR 1819 (HY000):" v Linuxu


Ko ustvarjate uporabnika MySQL z razmeroma šibkim geslom, lahko naletite na napako "MySQL ERROR 1819 (HY000): Vaše geslo ne ustreza trenutnim zahtevam pravilnika". Tehnično to ni napaka, ampak obvestilo, da uporabljate geslo, ki ne ustreza priporočenim zahtevam pravilnika o geslih.

Z drugimi besedami, uporabljate šibko geslo, ki ga je mogoče zlahka uganiti ali vsiliti. Vgrajeni varnostni mehanizem odvrača uporabnike od ustvarjanja šibkih gesel, zaradi česar je vaša baza podatkov nagnjena k kršitvam.

Na primer, pri ustvarjanju uporabnika sem naletel na napako, kot je prikazano

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

Nič hudega ni, da je geslo izredno šibko in lahko predstavlja varnostno tveganje.

Kako rešiti napako MySQL 1819 (HY000) v Linuxu

Baza podatkov MySQL je dobavljena z vtičnikom validate_password, ki, ko je omogočen, uveljavlja politiko preverjanja veljavnosti gesla. Vtičnik uveljavlja tri ravni pravilnika za preverjanje gesla.

  • LOW: uporabnikom omogoča, da nastavijo geslo z 8 ali manj znaki.
  • SREDNJA: uporabnikom omogoča, da nastavijo geslo z 8 ali manj znaki z mešanimi in posebnimi znaki.
  • STRONG: uporabnikom omogoča, da z vključeno slovarsko datoteko nastavijo geslo, ki vsebuje vse atribute gesla srednje ravni.

Politika gesel je privzeto nastavljena na SREDNJO. Z izvedbo ukaza lahko potrdite raven pravilnika o geslih:

$ SHOW VARIABLES LIKE 'validate_password%';

Če zaženete ukaz in dobite izhodni prazen nabor, vtičnik še ni omogočen.

Če želite omogočiti vtičnik validate_password, zaženite spodnje ukaze.

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

Če želite potrditi, da je vtičnik aktiviran, zaženite ukaz.

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

Dobili bi izhod, prikazan spodaj:

Če želite odpraviti težavo, morate pravilnik za preverjanje gesla nastaviti na najnižjo raven. Vem, da se to sliši nerazumljivo, saj ustvarja pot za nastavitev šibkih gesel, zaradi česar lahko hekerji ogrozijo vašo bazo podatkov.

Če pa še vedno vztrajate pri svojem, je to, kar lahko storite.

Kako spremeniti politiko preverjanja veljavnosti gesla MySQL

Če želite odpraviti napako MySQL ERROR 1819 (HY000), nastavite spodnji pravilnik za preverjanje gesla, kot je prikazano.

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

Nato lahko potrdite raven pravilnika za preverjanje gesla.

$ SHOW VARIABLES LIKE 'validate_password%';

Zdaj lahko nadaljujete in dodelite sorazmerno šibko geslo po svoji želji.

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

Če se želite vrniti na raven pravilnika gesla „SREDNJE“, preprosto pokličite ukaz:

mysql> SET GLOBAL validate_password_policy=MEDIUM;

Osebno zaradi očitnih razlogov ne priporočam nastavitve pravilnika za gesla nižje ravni. Ne glede na to, ali gre za običajnega uporabnika ali uporabnika baze podatkov, priporočamo, da vedno nastavite močno geslo MySQL z več kot 8 znaki z mešanico velikih, malih, številskih in posebnih znakov.

Ta priročnik je namenjen tistim, ki želijo vedeti, kako krmariti po takšni napaki, sicer pa je vedno priporočljiva nastavitev močnega gesla.