mac - reset mysql root password windows
Su contraseña no cumple con los requisitos de la política actual. (10)
Quiero crear un nuevo usuario en mysql con sintaxis:
create user ''demo''@''localhost'' identified by ''password'';
Pero devuelve un error:
Su contraseña no cumple con los requisitos de la política actual.
He intentado muchas contraseñas pero no funcionan. ¿Cómo puedo arreglar esto?
Después de ejecutar el comando
sudo mysql_secure_installation
.
-
Ejecute
sudo mysql
para ingresar al indicador mysql. -
Ejecute este
SELECT user,authentication_string,plugin,host FROM mysql.user;
para verificar que el usuario root tenga como complemento auth_socket . -
Luego ejecute el
uninstall plugin validate_password;
para eliminar privilegios antes de ejecutarALTER USER ''root''@''localhost'' IDENTIFIED WITH mysql_native_password BY ''password'';
Asegúrese de cambiar la contraseña a una contraseña segura.
NOTA: consulte este enlace https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 para obtener más ayuda
En mi opinión, establecer "validate_password_policy" en "bajo" o desinstalar el "validar complemento de contraseña" no es lo correcto. Nunca debe comprometer la seguridad de su base de datos (a menos que realmente no le importe). Me pregunto por qué la gente incluso sugiere estas opciones cuando simplemente puede elegir una buena contraseña.
Para superar este problema, ejecuté el siguiente comando en mysql: MOSTRAR VARIABLES COMO ''validate_password%'' como lo sugiere @JNevill. Mi "validate_password_policy" se configuró en Medium, junto con otras cosas. Aquí está la captura de pantalla de su ejecución: Validar Política de Contraseña
El resultado se explica por sí mismo. Para una contraseña válida (cuando la política de Contraseña está configurada como media):
- La contraseña debe tener al menos 8 caracteres
- El recuento de mayúsculas y minúsculas es 1 (al menos 1 letra en minúscula y 1 letra en mayúscula)
- El recuento de números es 1
- El recuento mínimo de caracteres especiales es 1
Por lo tanto, una contraseña válida debe obedecer la política. Ejemplos de contraseña válida para las reglas anteriores pueden ser:
- Estudiante123 @
- NINZAcoder $ 100
- demoPass # 00
Puede elegir cualquier combinación siempre que satisfaga la política.
Para otras "validate_password_policy" , simplemente puede buscar los valores de las diferentes opciones y elegir su contraseña en consecuencia (no lo he intentado para "HIGH" ).
Este mensaje de error no tiene nada que ver con la contraseña almacenada en su tabla. También ocurre si escribe (en la consola SQL)
"seleccionar contraseña (''123456789'')"
o si
"seleccionar contraseña (''A123456789'')"
o si
"seleccionar contraseña (''A! 123456789'')"
Si escribes
"seleccionar contraseña (''A! a123456789'')"
entonces funcionará. Simplemente use letras grandes y pequeñas, caracteres especiales y números para crear su contraseña.
Puede deshabilitar estas comprobaciones en my.cnf, ¡pero entonces tendrá un riesgo de seguridad!
en [mysqld] agregue:
validate_password_policy=LOW
validate_password_special_char_count=0
validate_password_length=0
validate_password_mixed_case_count=0
validate_password_number_count=0
NOTA: Esto podría no ser una solución segura. Pero si está trabajando en un entorno de prueba, solo necesita una solución rápida y ni siquiera le importan las configuraciones de seguridad. Esta es una solución rápida.
El mismo problema me ocurrió cuando ejecuté "mysql_secure_installation" y modifiqué el nivel de seguridad de la contraseña a ''medio''.
Pasé por alto el error ejecutando lo siguiente:
mysql -h localhost -u root -p
mysql>uninstall plugin validate_password;
asegúrese de reinstalar el complemento "validate_password" si es necesario.
Para MySQL 8 *
SET GLOBAL validate_password.policy=LOW
Enlace de referencia para explicar sobre la política - Haga clic aquí
Para los usuarios de Laravel que tengan este problema con MySQL 8.0.x, agregue
''modes''=> [
''ONLY_FULL_GROUP_BY'',
''STRICT_TRANS_TABLES'',
''NO_ZERO_IN_DATE'',
''NO_ZERO_DATE'',
''ERROR_FOR_DIVISION_BY_ZERO'',
''NO_ENGINE_SUBSTITUTION'',
],
a su archivo database.php de la siguiente manera:
// database.php
''connections'' => [
''mysql'' => [
''driver'' => ''mysql'',
''host'' => env( ''DB_HOST'', ''127.0.0.1'' ),
''port'' => env( ''DB_PORT'', ''3306'' ),
''database'' => env( ''DB_DATABASE'', ''forge'' ),
''username'' => env( ''DB_USERNAME'', ''forge'' ),
''password'' => env( ''DB_PASSWORD'', '''' ),
''unix_socket'' => env( ''DB_SOCKET'', '''' ),
''charset'' => ''utf8mb4'',
''collation'' => ''utf8mb4_unicode_ci'',
''prefix'' => '''',
''strict'' => true,
''engine'' => null,
''modes'' => [
''ONLY_FULL_GROUP_BY'',
''STRICT_TRANS_TABLES'',
''NO_ZERO_IN_DATE'',
''NO_ZERO_DATE'',
''ERROR_FOR_DIVISION_BY_ZERO'',
''NO_ENGINE_SUBSTITUTION'',
],
],
],
Me lo arregló.
Paso 1: verifique su complemento de autenticación predeterminado
SHOW VARIABLES LIKE ''default_authentication_plugin'';
Paso 2: cumpliendo sus requisitos de validación de contraseña
SHOW VARIABLES LIKE ''validate_password%'';
Paso 3: configura tu usuario con los requisitos de contraseña correctos
CREATE USER ''<your_user>''@''localhost'' IDENTIFIED WITH ''<your_default_auth_plugin>'' BY ''password'';
Por tu contraseña. Puede ver las métricas de configuración de validación de contraseña utilizando la siguiente consulta en el cliente MySQL:
SHOW VARIABLES LIKE ''validate_password%'';
o puede establecer el nivel de política de contraseña más bajo, por ejemplo:
SET GLOBAL validate_password_length = 6;
SET GLOBAL validate_password_number_count = 0;
Verifica la dev.mysql.com/doc/refman/5.6/en/… .
Si no le importa cuál es la política de contraseña. Puede establecerlo en BAJO emitiendo el siguiente comando mysql:
mysql> SET GLOBAL validate_password_policy=LOW;
Tuve el mismo problema y la respuesta está justo en frente de usted, recuerde cuando ejecutó el script mientras instalaba mysql como
sudo mysql_secure_installation
en algún lugar que elija qué tipo de contraseña le gustaría elegir
Hay tres niveles de política de validación de contraseña:
Longitud BAJA> = 8 Longitud MEDIA> = 8, numérico, mayúsculas y minúsculas y caracteres especiales FUERTE Longitud> = 8, numérico, mayúsculas y minúsculas, caracteres especiales y archivo de diccionario
Ingrese 0 = BAJO, 1 = MEDIO y 2 = FUERTE:
tienes que dar una contraseña a la misma política
Estos son algunos ejemplos de sus contraseñas:
para el tipo 0:
abcdabcd
para el tipo 1:
abcd1234
para el tipo 2:
ancd@1234