Kuinka korjata "MySQL ERROR 1819 (HY000):" Linuxissa


Kun luot MySQL-käyttäjän, jolla on suhteellisen heikko salasana, saatat kohdata virheen ”MySQL ERROR 1819 (HY000): Salasanasi ei täytä nykyisiä käytäntövaatimuksia”. Teknisesti tämä ei ole virhe, vaan ilmoitus siitä, että käytät salasanaa, joka ei täytä suositeltuja salasanakäytäntövaatimuksia.

Toisin sanoen käytät heikkoa salasanaa, joka voidaan helposti arvata tai pakottaa julmaksi. Sisäänrakennettu suojausmekanismi estää käyttäjiä luomasta heikkoja salasanoja, jotka voivat tehdä tietokannastasi alttiita rikkomuksille.

Esimerkiksi törmäsin virheeseen luodessani käyttäjää kuvan osoittamalla tavalla

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

Ei ole järkevää, että salasana on erittäin heikko ja voi aiheuttaa turvallisuusriskin.

Kuinka ratkaista MySQL ERROR 1819 (HY000) Linuxissa

MySQL-tietokannassa on validate_password-laajennus, joka kun se on käytössä, noudattaa salasanan vahvistuskäytäntöä. Laajennus pakottaa salasanan vahvistuskäytännön kolme tasoa.

  • LOW: Antaa käyttäjien asettaa salasanan, jossa on enintään 8 merkkiä.
  • KESKITTÄINEN: Antaa käyttäjien asettaa salasanan, jossa on enintään 8 merkkiä ja joissa on sekoitettuja kirjaimia ja erikoismerkkejä.
  • VAHVA: Antaa käyttäjien asettaa salasanan, joka sisältää kaikki keskitason salasanan määritteet, sisältäen sanakirjatiedoston.

Oletusarvoisesti salasanakäytännöksi on valittu MEDIUM. Voit vahvistaa salasanakäytännön tason suorittamalla komennon:

$ SHOW VARIABLES LIKE 'validate_password%';

Jos suoritat komennon ja tuloste on tyhjä, laajennus ei ole vielä käytössä.

Ota validate_password-laajennus käyttöön suorittamalla alla olevat komennot.

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

Suorita komento varmistaaksesi, että laajennus on aktivoitu.

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

Sinun pitäisi saada alla oleva tulos:

Voit ratkaista ongelman asettamalla salasanan vahvistuskäytännön alimmalle tasolle. Tiedän, että tämä kuulostaa epäluuloiselta, koska se luo mahdollisuuden asettaa heikkoja salasanoja, jotka voivat viime kädessä aiheuttaa hakkereiden vaarantaa tietokantaasi.

Jos kuitenkin edelleen vaadit tietäsi, voit tehdä tämän.

Kuinka muuttaa MySQL-salasanan vahvistuskäytäntöä

Voit ratkaista MySQL ERROR 1819 (HY000) -virheen asettamalla alemman salasanan vahvistuskäytännön kuvan mukaisesti.

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

Sen jälkeen voit vahvistaa salasanan vahvistuskäytännön tason.

$ SHOW VARIABLES LIKE 'validate_password%';

Nyt voit jatkaa ja määrittää suhteellisen heikon salasanan toiveidesi mukaan.

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

Palataksesi salasanan käytäntötasolle MEDIUM, käytä komentoa:

mysql> SET GLOBAL validate_password_policy=MEDIUM;

Henkilökohtaisesti en suosittele alemman tason salasanakäytännön asettamista ilmeisistä syistä. Olipa kyseessä tavallinen käyttäjä tai tietokannan käyttäjä, on suositeltavaa asettaa aina vahva MySQL-salasana, jossa on yli 8 merkkiä, sekä isoja, pieniä, numeerisia ja erikoismerkkejä.

Tämä opas on tarkoitettu niille, jotka haluavat tietää, kuinka navigoida tällaisessa virheessä, muuten suositellaan aina vahvan salasanan asettamista.