Ricerca nel sito web

Come risolvere "MySQL ERROR 1819 (HY000):" in Linux


Quando crei un utente MySQL con una password relativamente debole, potresti riscontrare l'errore "MySQL ERROR 1819 (HY000): la tua password non soddisfa i requisiti della politica attuale". Tecnicamente, questo non è un errore, ma una notifica che stai utilizzando una password che non soddisfa i requisiti della politica password consigliata.

In altre parole, stai utilizzando una password debole che può essere facilmente indovinata o forzata. Il meccanismo di sicurezza integrato scoraggia gli utenti dal creare password deboli che possono rendere il database soggetto a violazioni.

Ad esempio, ho riscontrato l'errore durante la creazione di un utente come mostrato

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

È un gioco da ragazzi che la password sia estremamente debole e possa presentare un rischio per la sicurezza.

Come risolvere l'ERRORE MySQL 1819 (HY000) in Linux

Il database MySQL viene fornito con un plug-in validate_password che, quando abilitato, applica una politica di convalida della password. Esistono 3 livelli di politica di convalida della password applicati dal plug-in.

  • BASSO: consente agli utenti di impostare una password composta da un massimo di 8 caratteri.
  • MEDIO: consente agli utenti di impostare una password composta da un massimo di 8 caratteri con caratteri misti e caratteri speciali.
  • STRONG: consente agli utenti di impostare una password che abbia tutti gli attributi di una password di livello medio con l'inclusione di un file dizionario.

Per impostazione predefinita, la norma relativa alla password è impostata su MEDIO. È possibile confermare il livello della policy della password eseguendo il comando:

SHOW VARIABLES LIKE 'validate_password%';

Se esegui il comando e ottieni un set vuoto di output, il plug-in non è ancora abilitato.

Per abilitare il plug-in validate_password, esegui i comandi seguenti.

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

Per confermare che il plugin è attivato, esegui il comando.

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

Dovresti ottenere l'output mostrato di seguito:

Per risolvere il problema, è necessario impostare la politica di convalida della password al livello più basso. So che sembra controintuitivo in quanto crea una strada per l'impostazione di password deboli che alla fine possono causare la compromissione del database da parte degli hacker.

Tuttavia, se insisti ancora a fare a modo tuo, ecco cosa puoi fare.

Come modificare la politica di convalida della password MySQL

Per risolvere l'errore MySQL ERROR 1819 (HY000), imposta una politica di convalida della password inferiore come mostrato.

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

Successivamente è possibile confermare il livello della politica di convalida della password.

SHOW VARIABLES LIKE 'validate_password%';

Ora puoi procedere e assegnare una password relativamente debole secondo i tuoi desideri.

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

Per ripristinare il livello di policy della password "MEDIO", è sufficiente richiamare il comando:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Conclusione

Personalmente, non consiglierei di impostare una politica di password di livello inferiore per ovvi motivi. Che si tratti di un utente normale o di un utente di database, si consiglia di impostare sempre una password MySQL complessa con più di 8 caratteri con un mix di caratteri maiuscoli, minuscoli, numerici e speciali.

Questa guida è per coloro che vogliono sapere come risolvere un errore di questo tipo, altrimenti è sempre consigliabile impostare una password complessa.