Búsqueda de sitios web

Cómo solucionar el "ERROR MySQL 1819 (HY000):" en Linux


Al crear un usuario de MySQL con una contraseña relativamente débil, es posible que encuentre el error "ERROR 1819 de MySQL (HY000): su contraseña no cumple con los requisitos de la política actual". Técnicamente, esto no es un error, sino una notificación de que está utilizando una contraseña que no cumple con los requisitos recomendados de la política de contraseñas.

En otras palabras, estás utilizando una contraseña débil que puede ser fácilmente adivinada o forzada. El mecanismo de seguridad incorporado disuade a los usuarios de crear contraseñas débiles que pueden hacer que su base de datos sea propensa a violaciones.

Por ejemplo, encontré el error al crear un usuario como se muestra

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

Es obvio que la contraseña es extremadamente débil y puede presentar un riesgo de seguridad.

Cómo resolver el ERROR 1819 de MySQL (HY000) en Linux

La base de datos MySQL se envía con un complemento validate_password que, cuando está habilitado, aplica una política de validación de contraseña. Hay 3 niveles de política de validación de contraseñas que el complemento aplica.

  • BAJO: permite a los usuarios establecer una contraseña de 8 caracteres o menos.
  • MEDIO: permite a los usuarios establecer una contraseña de 8 o menos caracteres con mayúsculas y minúsculas mixtas y caracteres especiales.
  • STRONG: permite a los usuarios establecer una contraseña que tenga todos los atributos de una contraseña de nivel medio con la inclusión de un archivo de diccionario.

De forma predeterminada, la política de contraseñas está configurada en MEDIO. Puede confirmar el nivel de política de contraseña ejecutando el comando:

SHOW VARIABLES LIKE 'validate_password%';

Si ejecuta el comando y obtiene el conjunto vacío de salida, entonces el complemento aún no está habilitado.

Para habilitar el complemento validate_password, ejecute los siguientes comandos.

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

Para confirmar que el complemento está activado, ejecute el comando.

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

Debería obtener el resultado que se muestra a continuación:

Para resolver el problema, debe configurar la política de validación de contraseña al nivel más bajo. Sé que esto suena contradictorio, ya que crea una vía para establecer contraseñas débiles que, en última instancia, pueden hacer que los piratas informáticos comprometan su base de datos.

Sin embargo, si aún insiste en salirse con la suya, esto es lo que puede hacer.

Cómo cambiar la política de validación de contraseña de MySQL

Para resolver el error MySQL ERROR 1819 (HY000), establezca una política de validación de contraseña más baja como se muestra.

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

A partir de entonces podrá confirmar el nivel de política de validación de contraseña.

SHOW VARIABLES LIKE 'validate_password%';

Ahora puede continuar y asignar una contraseña relativamente débil según su deseo.

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

Para volver al nivel de política de contraseña "MEDIO", simplemente invoque el comando:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Conclusión

Personalmente, no recomendaría establecer una política de contraseñas de nivel inferior por razones obvias. Ya sea un usuario normal o un usuario de base de datos, se recomienda establecer siempre una contraseña MySQL segura con más de 8 caracteres con una combinación de mayúsculas, minúsculas, numéricos y caracteres especiales.

Esta guía está pensada para aquellos que quieran saber cómo sortear dicho error; de lo contrario, siempre se recomienda establecer una contraseña segura.