1. Erreur de programme
Your password does not satisfy the current policy requirements
Traduction : Votre mot de passe n'est pas conforme aux exigences de la politique actuelle
You must reset your password using ALTER USER statement before executing this statement.
Traduction : Avant d'exécuter cette instruction, le mot de passe doit être réinitialisé à l'aide de l'instruction ALTER USER.
2. Contexte du projet
Après avoir installé MySQL8.0 sur le système LINUX, utilisez la commande cat /var/log/mysqld.log pour afficher le journal de sortie de MySQL. Vous pouvez voir qu'après l'installation de MySQL8.0, mon mot de passe initial par défaut ici est k5yV0NyClY,J
Pour notre étude quotidienne, ce mot de passe est trop difficile à retenir, nous devons donc changer un mot de passe simple dont nous nous souvenons.
3. Analyse des erreurs
Après avoir consulté de nombreuses informations et tutoriels, les étapes pour changer le mot de passe pour MySQL version 5.0 sont ( les points-virgules sont indispensables !!! )
set global validate_password_policy=LOW; Réglez le niveau de mot de passe pour qu'il soit inférieur, ce qui nous permet de définir plus facilement un mot de passe simple
set global validate_password_length=6 (variable) ; Définissez la longueur minimale du mot de passedéfinir le mot de passe=mot de passe('************'); définir le mot de passe
Pour la version MySQL8.0, nous devons d'abord définir le mot de passe, puis définir le niveau et la longueur du mot de passe . Il convient de noter ici que l'instruction set global validate_password utilisée pour modifier le niveau de mot de passe et la longueur minimale dans la version MySQL 8.0 est passée du '_' précédent à '.' .
modifier l'utilisateur 'root'@'localhost' identifié avec mysql_native_password par '****' ; changer le mot de passe
set global validate_password . Policy=0 ; Définir le niveau de mot de passe pour qu'il soit inférieur, ce qui nous permet de définir plus facilement un mot de passe simple
set global validate_password . length=6 (variable) ; Définir la longueur minimale du mot de passe
Si le niveau et la longueur du mot de passe sont définis en premier comme dans la version MySQL 5.0, l'erreur Vous devez réinitialiser votre mot de passe à l'aide de l'instruction ALTER USER avant d'exécuter cette instruction sera signalée. L'invite indiquant que nous devons d'abord utiliser l'instruction ALTER USER pour réinitialiser le mot de passe. Mais si nous suivons directement ses invites pour définir le mot de passe maintenant, nous obtiendrons l'erreur Votre mot de passe ne satisfait pas aux exigences de la politique actuelle, nous indiquant que le mot de passe ne satisfait pas aux exigences de la politique actuelle, c'est-à-dire que le mot de passe est trop simple.
4. Résolution des erreurs (valable pour les tests personnels)
Puisqu'il nous indique que le mot de passe ne répond pas aux exigences de la politique actuelle , modifions d'abord le mot de passe conformément à sa politique. Ici, je change d'abord le mot de passe par le mot de passe par défaut qu'il m'a donné et je change un chiffre, qui est le mot de passe initial par défaut. Je l'ai mentionné ci-dessus. Pour k5yV0NyClY,J , j'ai changé le dernier 'J' en 'G' . Cela montre que la modification a réussi.
Définissez ensuite le niveau de mot de passe et la longueur minimale.
Code:
(1) Changez le mot de passe conformément à la politique
ALTER USER 'root'@'localhost' IDENTIFIÉ AVEC mysql_native_password BY 'k5yV0NyClY,G';
(2) Changer le niveau de mot de passe
set global validate_password.policy=0 ;
(3) Modifier la longueur minimale du mot de passe
définir global validate_password.length=6 ;
(4) Changez le mot de passe souhaité
ALTER USER 'root'@'localhost' IDENTIFIÉ AVEC mysql_native_password PAR '****' ;
Enfin résolu avec succès ! ! !