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


Prilikom kreiranja MySQL korisnika s relativno slabom lozinkom, možete naići na grešku „MySQL ERROR 1819 (HY000): Vaša lozinka ne zadovoljava trenutne zahtjeve politike’. Tehnički, ovo nije greška, već obavijest da koristite lozinku koja ne ispunjava preporučene zahtjeve politike lozinki.

Drugim riječima, koristite slabu lozinku koja se lako može pogoditi ili nametnuti. Ugrađeni sigurnosni mehanizam obeshrabruje korisnike od kreiranja slabih lozinki koje mogu učiniti vašu bazu podataka sklonom kršenju.

Na primjer, naišao sam na grešku prilikom kreiranja korisnika kao što je prikazano

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

Nije pametno da je lozinka izuzetno slaba i može predstavljati sigurnosni rizik.

Kako riješiti MySQL ERROR 1819 (HY000) u Linuxu

MySQL baza podataka se isporučuje sa validate_password dodatkom koji kada je omogućen, nameće politiku validacije lozinke. Postoje 3 nivoa politike validacije lozinke koje nameće dodatak.

  • NISKO: Omogućava korisnicima da postave lozinku od 8 ili manje znakova.
  • SREDNJA: Omogućava korisnicima da postave lozinku od 8 ili manje znakova s mješovitim velikim slovima i posebnim znakovima.
  • STRONG: Omogućava korisnicima da postave lozinku koja ima sve atribute lozinke srednjeg nivoa uz uključivanje datoteke rječnika.

Prema zadanim postavkama, politika lozinke je postavljena na SREDNJA. Nivo politike lozinke možete potvrditi izvršavanjem naredbe:

SHOW VARIABLES LIKE 'validate_password%';

Ako pokrenete naredbu i dobijete izlazni prazan set, dodatak još nije omogućen.

Da omogućite dodatak validate_password, pokrenite naredbe ispod.

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

Da biste potvrdili da je dodatak aktiviran, pokrenite naredbu.

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

Trebali biste dobiti rezultat prikazan ispod:

Da biste riješili problem, morate postaviti politiku validacije lozinke na najniži nivo. Znam da ovo zvuči kontraintuitivno jer stvara put za postavljanje slabih lozinki koje na kraju mogu uzrokovati da hakeri kompromituju vašu bazu podataka.

Međutim, ako i dalje insistirate na tome, evo šta možete učiniti.

Kako promijeniti pravila za provjeru valjanosti MySQL lozinke

Da biste riješili grešku MySQL ERROR 1819 (HY000), postavite nižu politiku validacije lozinke kao što je prikazano.

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

Nakon toga možete potvrditi nivo politike validacije lozinke.

SHOW VARIABLES LIKE 'validate_password%';

Sada možete nastaviti i dodijeliti relativno slabu lozinku po vašoj želji.

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

Da biste se vratili na "SREDNJI" nivo politike lozinke, jednostavno pozovite naredbu:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Zaključak

Lično, ne bih preporučio postavljanje politike lozinki nižeg nivoa iz očiglednih razloga. Bilo da se radi o običnom korisniku ili korisniku baze podataka, preporučuje se da uvijek postavite jaku MySQL lozinku sa više od 8 znakova s mješavinom velikih, malih, numeričkih i posebnih znakova.

Ovaj vodič je za one koji žele znati kako se snaći u takvoj grešci, inače se uvijek preporučuje postavljanje jake lozinke.