GNU/Linux >> Tutoriels Linux >  >> Linux

Correctif – ERREUR MySQL 1819 (HY000) :votre mot de passe ne satisfait pas aux exigences de la politique actuelle

Comme vous l'avez peut-être remarqué, vous serez invité à activer VALIDATE PASSWORD composant lors de la configuration du mot de passe pour la racine MySQL utilisateur. S'il est activé, le composant Valider le mot de passe vérifiera automatiquement la force du mot de passe donné et obligera les utilisateurs à définir uniquement les mots de passe suffisamment sécurisés. Si vous fournissez un mot de passe faible, vous rencontrerez une erreur comme celle-ci :ERROR 1819 (HY000): Your password does not satisfy the current policy requirements .

Techniquement parlant, ce n'est pas réellement une erreur. Il s'agit d'un mécanisme de sécurité intégré qui avertit les utilisateurs de ne fournir que des mots de passe forts basés sur les exigences actuelles de la politique de mot de passe.

Permettez-moi de vous montrer un exemple. Je me connecte au serveur MySQL en tant que root utilisateur utilisant la commande :

$ mysql -u root -p

Créez un utilisateur de base de données avec un mot de passe faible :

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

Et je rencontre l'erreur suivante :

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

Voir? Le Validate Password le composant ne me permet pas de créer un utilisateur avec un mot de passe faible (c'est-à-dire mypassword dans ce cas).

Vous continuerez à recevoir cette erreur jusqu'à ce que le mot de passe réponde aux exigences de la politique de mot de passe actuelle ou que vous désactiviez le Validate Password composant. Nous verrons comment le faire dans la section suivante.

Correction - ERREUR MySQL 1819 (HY000) :votre mot de passe ne satisfait pas aux exigences de la politique actuelle

Il existe trois niveaux de politique de validation de mot de passe appliqués lorsque Validate Password le plugin est activé :

  • BAS Longueur>=8 caractères.
  • MOYEN Longueur>=8, chiffres, casse mixte et caractères spéciaux.
  • FORT Longueur>=8, numérique, casse mixte, caractères spéciaux et fichier dictionnaire.

En fonction de ces niveaux de stratégie, vous devez définir un mot de passe approprié. Par exemple, si la politique de validation du mot de passe est définie sur Moyen, vous devez définir un mot de passe comportant au moins 8 caractères, dont un chiffre, des minuscules, des majuscules et des caractères spéciaux.

Nous devons d'abord trouver le niveau de stratégie de mot de passe actuel. Pour ce faire, exécutez la commande suivante pour afficher les variables système du plug-in de validation de mot de passe :

mysql> SHOW VARIABLES LIKE 'validate_password%';

Exemple de résultat :

+--------------------------------------+--------+
| 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)

Comme vous pouvez le voir, le niveau de mot de passe actuellement appliqué est Moyen . Notre mot de passe doit donc comporter 8 caractères avec un chiffre, une casse mixte et des caractères spéciaux.

Je vais définir ce mot de passe - Password123#@! en utilisant la commande :

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

Voir? Ça fonctionne maintenant! Donc, afin de corriger le "ERROR 1819 (HY000)... ", vous devez entrer un mot de passe conformément à la politique de validation de mot de passe actuelle.

Modifier la politique de validation des mots de passe dans MySQL

Vous pouvez également résoudre le "ERROR 1819 (HY000)... " en configurant une politique de mot de passe de niveau inférieur.

Pour ce faire, exécutez la commande suivante à partir de l'invite mysql :

mysql> SET GLOBAL validate_password.policy = 0;

Ou,

mysql> SET GLOBAL validate_password.policy=LOW;

Vérifiez ensuite si la politique de validation du mot de passe a été modifiée en faible :

mysql> SHOW VARIABLES LIKE 'validate_password%';

Exemple de résultat :

+--------------------------------------+-------+
| 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)

Vous pouvez maintenant créer un utilisateur avec un mot de passe faible comme ci-dessous :

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

Pour revenir à la stratégie de niveau MOYEN, exécutez simplement cette commande à partir de l'invite mysql :

mysql> SET GLOBAL validate_password.policy=MEDIUM;

Si la politique de mot de passe ne change pas, quittez l'invite mysql et redémarrez le service mysql à partir de votre fenêtre Terminal :

$ sudo systemctl restart mysql

Maintenant, cela devrait fonctionner.

Attention : Un de nos lecteurs nous a fait remarquer qu'il y avait une faute de frappe dans la commande suivante :

mysql> SET GLOBAL validate_password.policy=LOW;

Cela devrait être :

mysql> SET GLOBAL validate_password_policy=LOW;

Notez le trait de soulignement dans la commande ci-dessus. Depuis que j'ai supprimé la configuration, je n'ai aucun moyen de vérifier cette commande. Mais je suppose que la commande a été modifiée dans les nouvelles versions de MySQL.

Désactiver la politique de validation du mot de passe

Si vous aimez créer des utilisateurs avec un mot de passe faible, désactivez simplement le Validate Password complètement et réactivez-le après avoir créé les utilisateurs.

Connectez-vous au serveur MySQL :

$ mysql -u root -p

Pour désactiver temporairement le composant Valider le mot de passe, exécutez la commande suivante à partir de l'invite MySQL :

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

Créez les utilisateurs avec le mot de passe de votre choix :

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

Enfin, activez le composant Valider le mot de passe :

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

Personnellement, je ne recommande pas de changer la politique à un niveau inférieur ou de désactiver la politique de mot de passe. Qu'il s'agisse d'un utilisateur de base de données ou d'un utilisateur normal, utilisez toujours un mot de passe fort avec plus de 8 caractères, y compris un chiffre, une casse mixte et des caractères spatiaux.

Conclusion

Dans ce guide, nous avons découvert l'une des erreurs courantes de MySQL :ERROR 1819 (HY000): Your password does not satisfy the current policy requirements et comment le réparer sous Linux. Nous avons également appris comment désactiver la politique de mot de passe pour autoriser les mots de passe faibles.

Lire connexe :

  • Installer Apache, MySQL, PHP (pile LAMP) sur Ubuntu 20.04 LTS
  • Installer Nginx, MySQL, PHP (pile LEMP) sur Ubuntu 20.04 LTS

Linux
  1. Corrigez l'erreur Le référentiel n'a pas de fichier de version dans Ubuntu - Guide étape par étape ?

  2. Correction de l'erreur Class ZipArchive introuvable [PHP 7]

  3. Comment réparer Windows n'a pas pu analyser ou traiter le fichier de réponse sans assistance pour Pass Specialize

  4. Correction d'une erreur PHP - Il n'est pas sûr de s'appuyer sur les paramètres de fuseau horaire du système

  5. Le rappel enregistré ne correspond pas à l'URL fournie - Correction de l'erreur WSO2

Gérez vos mots de passe dans le terminal Linux

Comment réparer :l'utilisateur n'est pas dans l'erreur de fichier sudoers

Comment réparer l'erreur "Le référentiel n'a pas de fichier de version" dans Ubuntu

Correction "Implémentation du contrôleur USB 2.0 introuvable!" Erreur VirtualBox

Comment réparer l'erreur "Le référentiel n'a pas de fichier de version" dans Ubuntu

Changer le mot de passe root ne change pas le mot de passe sudo