Hvernig á að laga MySQL ERROR 1819 (HY000): í Linux


Þegar þú býrð til MySQL notanda með tiltölulega veikt lykilorð gætirðu rekist á villuna „MySQL ERROR 1819 (HY000): Lykilorðið þitt uppfyllir ekki gildandi stefnukröfur“. Tæknilega séð er þetta ekki villa, heldur tilkynning um að þú sért að nota lykilorð sem uppfyllir ekki ráðlagðar kröfur um lykilorðastefnu.

Með öðrum orðum, þú ert að nota veikt lykilorð sem auðvelt er að giska á eða þvinga til. Innbyggða öryggisbúnaðurinn dregur úr notendum að búa til veik lykilorð sem geta gert gagnagrunninn þinn viðkvæman fyrir brotum.

Til dæmis rakst ég á villuna þegar ég bjó til notanda eins og sýnt er

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

Það er ekkert mál að lykilorðið er mjög veikt og getur valdið öryggisáhættu.

Hvernig á að leysa MySQL VILLU 1819 (HY000) í Linux

MySQL gagnagrunnurinn er með validate_password viðbót sem þegar það er virkt framfylgir löggildingarstefnu lykilorðs. Það eru 3 stig löggildingar lykilorðs sem er framfylgt af viðbótinni.

  • LOW: Leyfir notendum að stilla lykilorð sem er 8 eða færri stafir.
  • MEDIUM: Leyfir notendum að stilla lykilorð upp á 8 eða færri stafi með blönduðum hástöfum og sérstöfum.
  • STERKT: Gerir notendum kleift að stilla lykilorð sem hefur alla eiginleika miðlungs lykilorðs ásamt orðabókarskrá.

Sjálfgefið er að lykilorðastefnan er stillt á MEDIUM. Þú getur staðfest lykilorðastefnustigið með því að framkvæma skipunina:

$ SHOW VARIABLES LIKE 'validate_password%';

Ef þú keyrir skipunina og færð úttakið tómt sett, þá er viðbótin ekki virkjuð ennþá.

Til að virkja validate_password viðbótina skaltu keyra skipanirnar hér að neðan.

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

Til að staðfesta að viðbótin sé virkjuð skaltu keyra skipunina.

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

Þú ættir að fá úttakið sem sýnt er hér að neðan:

Til að leysa vandamálið þarftu að stilla löggildingarstefnu lykilorðsins á lægsta stig. Ég veit að þetta hljómar gegn innsæi þar sem það skapar leið til að setja veik lykilorð sem geta að lokum valdið því að tölvusnápur lendi í hættu á gagnagrunninum þínum.

Hins vegar, ef þú krefst þess enn að hafa þinn hátt á, hér er það sem þú getur gert.

Hvernig á að breyta MySQL lykilorðsstaðfestingarstefnu

Til að leysa MySQL ERROR 1819 (HY000) villuna skaltu stilla lægri löggildingarstefnu lykilorðs eins og sýnt er.

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

Þú getur síðan staðfest stig lykilorðsprófunarstefnunnar.

$ SHOW VARIABLES LIKE 'validate_password%';

Nú geturðu haldið áfram og úthlutað tiltölulega veikt lykilorð eins og þú vilt.

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

Til að fara aftur í „MEDIUM“ lykilorðsstefnustigið skaltu einfaldlega kalla fram skipunina:

mysql> SET GLOBAL validate_password_policy=MEDIUM;

Persónulega myndi ég ekki mæla með því að setja lykilorðastefnu á lægra stigi af augljósum ástæðum. Hvort sem það er venjulegur notandi eða gagnagrunnsnotandi, þá er mælt með því að stilla alltaf sterkt MySQL lykilorð með fleiri en 8 stöfum með blöndu af hástöfum, lágstöfum, tölustöfum og sérstöfum.

Þessi leiðarvísir er fyrir þá sem vilja vita hvernig á að sigla um slíka villu, annars er alltaf mælt með því að setja sterkt lykilorð.