GNU/Linux >> Tutoriales Linux >  >> Linux

Solución:MySQL ERROR 1819 (HY000):su contraseña no cumple con los requisitos de la política actual

Como habrás notado, se te pedirá que habilites VALIDATE PASSWORD componente mientras configura la contraseña para la raíz de MySQL usuario. Si está habilitado, el componente Validar contraseña verificará automáticamente la seguridad de la contraseña dada y obligará a los usuarios a configurar solo las contraseñas que sean lo suficientemente seguras. Si proporciona una contraseña débil, se encontrará con un error como este:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements .

Técnicamente hablando, en realidad no es un error. Este es un mecanismo de seguridad incorporado que notifica a los usuarios que proporcionen solo contraseñas seguras según los requisitos de la política de contraseñas actual.

Dejame mostrarte un ejemplo. Me conecto al servidor MySQL como root usuario usando el comando:

$ mysql -u root -p

Cree un usuario de base de datos con una contraseña débil:

mysql> create user 'ostechnix'@'localhost' identified by 'mypassword';

Y me encuentro con el siguiente error:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

¿Ver? El Validate Password componente no me permite crear un usuario con una contraseña débil (es decir, mypassword en este caso).

Seguirá recibiendo este error hasta que la contraseña cumpla con los requisitos de la política de contraseñas actual o hasta que deshabilite Validate Password componente. Veremos cómo hacerlo en la siguiente sección.

Corrección:MySQL ERROR 1819 (HY000):su contraseña no cumple con los requisitos de la política actual

Hay tres niveles de política de validación de contraseña que se aplican cuando Validate Password el complemento está habilitado:

  • BAJO Longitud>=8 caracteres.
  • MEDIA Longitud>=8, caracteres numéricos, mayúsculas y minúsculas y especiales.
  • FUERTE Longitud>=8, numérico, mayúsculas y minúsculas, caracteres especiales y archivo de diccionario.

En función de estos niveles de política, debe establecer una contraseña adecuada. Por ejemplo, si la política de validación de contraseñas está establecida en Media, debe establecer una contraseña que tenga al menos 8 caracteres, incluido un número, minúsculas, mayúsculas y caracteres especiales.

Primero necesitamos encontrar el nivel actual de la política de contraseñas. Para hacerlo, ejecute el siguiente comando para mostrar las variables del sistema del complemento de validación de contraseña:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Salida de muestra:

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.09 sec)

Como puede ver, el nivel de contraseña actualmente aplicado es Medio . Por lo tanto, nuestra contraseña debe tener 8 caracteres con un número, mayúsculas y minúsculas y caracteres especiales.

Voy a configurar esta contraseña - Password123#@! usando el comando:

mysql> create user 'ostechnix'@'localhost' identified by 'Password123#@!';
Query OK, 0 rows affected (0.36 sec)

¿Ver? ¡Ahora funciona! Entonces, para arreglar el "ERROR 1819 (HY000)... " error, debe ingresar una contraseña según la política de validación de contraseña actual.

Cambiar política de validación de contraseña en MySQL

También puedes resolver el "ERROR 1819 (HY000)... " configurando una política de contraseñas de nivel inferior.

Para hacerlo, ejecute el siguiente comando desde el indicador de mysql:

mysql> SET GLOBAL validate_password.policy = 0;

O,

mysql> SET GLOBAL validate_password.policy=LOW;

Luego verifique si la política de validación de contraseñas se ha cambiado a baja:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Salida de muestra:

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 8     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

Ahora puede crear un usuario con una contraseña débil como la siguiente:

mysql> create user 'senthil'@'localhost' identified by 'password';

Para volver a la política de nivel MEDIO, simplemente ejecute este comando desde el indicador de mysql:

mysql> SET GLOBAL validate_password.policy=MEDIUM;

Si la política de contraseñas no cambia, salga del indicador de mysql y reinicie el servicio mysql desde la ventana de su Terminal:

$ sudo systemctl restart mysql

Ahora debería funcionar.

Aviso: Uno de nuestros lectores ha señalado que hay un error tipográfico en el siguiente comando:

mysql> SET GLOBAL validate_password.policy=LOW;

Debería ser:

mysql> SET GLOBAL validate_password_policy=LOW;

Tenga en cuenta el guión bajo en el comando anterior. Como eliminé la configuración, no tengo forma de verificar este comando. Pero supongo que el comando se ha cambiado en las versiones más nuevas de MySQL.

Desactivar política de validación de contraseña

Si desea crear usuarios con contraseña débil, simplemente deshabilite Validate Password componente por completo y vuelva a habilitarlo después de crear los usuarios.

Inicie sesión en el servidor MySQL:

$ mysql -u root -p

Para deshabilitar temporalmente el componente Validar contraseña, ejecute el siguiente comando desde el indicador de MySQL:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

Cree los usuarios con cualquier contraseña de su elección:

mysql> create user 'kumar'@'localhost' identified by '123456';

Finalmente, habilite el componente Validar contraseña:

mysql> INSTALL COMPONENT "file://component_validate_password";

Personalmente, no recomiendo cambiar la política a un nivel inferior o deshabilitar la política de contraseñas. Ya sea un usuario de la base de datos o un usuario normal, utilice siempre una contraseña segura con más de 8 caracteres, incluido un número, mayúsculas y minúsculas y caracteres espaciales.

Conclusión

En esta guía, aprendimos sobre uno de los errores comunes de MySQL:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements y cómo solucionarlo en Linux. También aprendimos cómo deshabilitar la política de contraseñas para permitir contraseñas débiles.

Lectura relacionada:

  • Instalar Apache, MySQL, PHP (pila LAMP) en Ubuntu 20.04 LTS
  • Instalar Nginx, MySQL, PHP (LEMP Stack) en Ubuntu 20.04 LTS

Linux
  1. Arreglar el error Class ZipArchive no encontrado [PHP 7]

  2. Cómo arreglar Windows no pudo analizar o procesar el archivo de respuesta desatendido para Pass Specialize

  3. Solucionar error de PHP:no es seguro confiar en la configuración de la zona horaria del sistema

  4. La devolución de llamada registrada no coincide con la URL proporcionada:corrija el error de WSO2

  5. ¿Establecer +a no desarma la bandera -a?

Administra tus contraseñas en la terminal de Linux

Cómo solucionarlo:el usuario no está en el error del archivo sudoers

Cómo corregir el error 'El repositorio no tiene un archivo de lanzamiento' en Ubuntu

Arreglar "¡No se encontró la implementación del controlador USB 2.0!" Error de caja virtual

Cómo solucionar el error "El repositorio no tiene un archivo de versión" en Ubuntu

MySQL falla en:mysql ERROR 1524 (HY000):el complemento 'auth_socket' no está cargado