Kaip ištaisyti „MySQL ERROR 1819 (HY000):“ sistemoje „Linux“


Kurdami „MySQL“ vartotoją su gana silpnu slaptažodžiu, galite susidurti su klaida „MySQL ERROR 1819 (HY000): jūsų slaptažodis neatitinka dabartinių politikos reikalavimų“. Techniškai tai nėra klaida, o pranešimas, kad naudojate slaptažodį, kuris neatitinka rekomenduojamų slaptažodžių politikos reikalavimų.

Kitaip tariant, jūs naudojate silpną slaptažodį, kurį galima lengvai atspėti arba priversti grubiai. Integruotas saugos mechanizmas neleidžia vartotojams kurti silpnų slaptažodžių, kurie gali padaryti jūsų duomenų bazę linkusią į pažeidimus.

Pavyzdžiui, sukūriau vartotoją, kaip parodyta, į klaidą

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

Neabejotina, kad slaptažodis yra labai silpnas ir gali kelti pavojų saugumui.

Kaip išspręsti „MySQL ERROR 1819“ (HY000) sistemoje „Linux“

„MySQL“ duomenų bazėje yra „validate_password“ papildinys, kuris įjungus įgyvendina slaptažodžio patvirtinimo politiką. Yra 3 slaptažodžių patvirtinimo politikos lygiai, kuriuos įgyvendina papildinys.

  • LOW: leidžia vartotojams nustatyti 8 ar mažiau simbolių slaptažodį.
  • VIDUTINIS: leidžia vartotojams nustatyti 8 ar mažiau simbolių slaptažodį su įvairiais raidėmis ir specialiaisiais simboliais
  • Stiprus: leidžia vartotojams nustatyti slaptažodį, kuriame yra visi vidutinio lygio slaptažodžio atributai, įtraukiant žodyno failą.

Pagal numatytuosius nustatymus slaptažodžio politika nustatyta į MEDIUM. Slaptažodžio politikos lygį galite patvirtinti vykdydami komandą:

$ SHOW VARIABLES LIKE 'validate_password%';

Jei paleisite komandą ir išvestis bus tuščia, įskiepis dar neįgalintas.

Norėdami įgalinti „validate_password“ papildinį, vykdykite toliau pateiktas komandas.

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

Norėdami patvirtinti, kad papildinys suaktyvintas, vykdykite komandą.

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

Turėtumėte gauti žemiau pateiktą išvestį:

Norėdami išspręsti problemą, turite nustatyti slaptažodžio tikrinimo politiką iki žemiausio lygio. Žinau, kad tai skamba prieštaringai, nes tai sukuria būdą nustatyti silpnus slaptažodžius, kurie gali sukelti įsilaužėlių pavojų jūsų duomenų bazei.

Tačiau, jei vis tiek reikalausite savo kelio, tai galite padaryti.

Kaip pakeisti „MySQL“ slaptažodžių tikrinimo politiką

Norėdami pašalinti „MySQL ERROR 1819“ (HY000) klaidą, nustatykite žemesnę slaptažodžio patvirtinimo politiką, kaip parodyta.

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

Po to galite patvirtinti slaptažodžio patvirtinimo politikos lygį.

$ SHOW VARIABLES LIKE 'validate_password%';

Dabar galite tęsti ir priskirti gana silpną slaptažodį pagal savo norus.

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

Norėdami grįžti į „MEDIUM“ slaptažodžio politikos lygį, tiesiog iškvieskite komandą:

mysql> SET GLOBAL validate_password_policy=MEDIUM;

Asmeniškai dėl akivaizdžių priežasčių nerekomenduočiau nustatyti žemesnio lygio slaptažodžių politikos. Nesvarbu, ar tai įprastas vartotojas, ar duomenų bazės vartotojas, rekomenduojama visada nustatyti tvirtą „MySQL“ slaptažodį, turintį daugiau nei 8 simbolius su didžiųjų, mažųjų, skaitinių ir specialiųjų simbolių deriniu.

Šis vadovas skirtas tiems, kurie nori žinoti, kaip naršyti tokioje klaidoje, priešingu atveju visada rekomenduojama nustatyti tvirtą slaptažodį.