¿Cómo desactivo la validación de contraseña de MySQL?

Resuelto Alex Ryan asked hace 8 años • 16 respuestas

Parece que sin darme cuenta he cargado el complemento de validación de contraseña en MySQL 5.7. Este complemento parece obligar a todas las contraseñas a cumplir ciertas reglas.

Me gustaría desactivar esto.

Intenté cambiar la variable validar_contraseña_longitud como se sugiere aquí sin éxito.

mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Me gustaría descargar el complemento o neutralizarlo de alguna manera.

Alex Ryan avatar Mar 30 '16 13:03 Alex Ryan
Aceptado

Esto es lo que hago para eliminar el complemento de validación de contraseña:

  1. Inicie sesión en el servidor mysql como rootmysql -h localhost -u root -p
  2. Ejecute el siguiente comando sql:uninstall plugin validate_password;
  3. Si la última línea no funciona (nueva versión de MySQL), debe ejecutarUNINSTALL COMPONENT 'file://component_validate_password';

No recomendaría esta solución para un sistema de producción. Utilicé esta solución en una instancia local de MySQL únicamente con fines de desarrollo.

Ray Hunter avatar Jul 23 '2016 05:07 Ray Hunter

Para mysql 8.0, el comando para deshabilitar el componente de validación de contraseña es:

UNINSTALL COMPONENT 'file://component_validate_password';

Para volver a instalarlo, el comando es:

INSTALL COMPONENT 'file://component_validate_password';

Si solo desea cambiar la política del complemento de validación de contraseña:

SET GLOBAL validate_password.policy = 0;   # For LOW
SET GLOBAL validate_password.policy = 1;   # For MEDIUM
SET GLOBAL validate_password.policy = 2;   # For HIGH
Akshay Gaur avatar Jul 28 '2018 23:07 Akshay Gaur

Basándose en la respuesta de Sharfi, edite el archivo /etc/my.cnf y agregue solo esta línea:

validate_password_policy=LOW

Eso debería neutralizar suficientemente la validación solicitada por el OP. Probablemente querrás reiniciar mysqld después de este cambio. Dependiendo de su sistema operativo, se vería así:

sudo service mysqld restart

validar_contraseña_policy toma los valores 0, 1 o 2 o las palabras BAJO, MEDIO y FUERTE que corresponden a esos números. El valor predeterminado es MEDIO (1), que requiere que las contraseñas contengan al menos una letra mayúscula, una letra minúscula, un dígito y un carácter especial, y que la longitud total de la contraseña sea de al menos 8 caracteres. Cambiar a BAJO como sugiero aquí solo verificará la longitud, que si no se ha cambiado a través de otros parámetros verificará una longitud de 8. Si también desea acortar ese límite de longitud, también puede agregar validar_contraseña_longitud a el archivo my.cnf.

Para obtener más información sobre los niveles y detalles, consulte el documento mysql .


Para MySQL 8, la propiedad cambió de "validate_password_policy" a "validate_password.policy". Consulte el documento mysql actualizado para obtener la información más reciente.

ktbos avatar Feb 28 '2017 10:02 ktbos

Para responder a su pregunta: ¿Cómo desactivo la validación de contraseña de MySQL?

Respuesta corta: puedes reducir la complejidad.

Inicie sesión en Mysql Client como root.

set global validate_password.policy = LOW;
set global validate_password.length = 2;
set global validate_password.mixed_case_count = 0;
set global validate_password.number_count = 0;
set global validate_password.special_char_count = 0;

Proceder concreate user ...

Keval Domadia avatar May 13 '2021 07:05 Keval Domadia