Comment créer un mot de passe à six caractères dans MySQL 5.7
je dois créer un utilisateur avec un mot de passe de six caractères dans New MySQL sur mon mac. Je sais que le réglage le plus bas du 5.7 ne permet que huit caractères. Est-il un moyen de le contourner?
je tape CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special'
Il affiche l'erreur
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
7 réponses
Vous utilisez le validation du mot de passe plugin. Par défaut, il ne permet que 8 caractères et des mots de passe plus longs. Parce qu'il ne peut pas vérifier la valeur d'un hachage, @RiggsFolly a raison de dire que le pré-hachage du mot de passe fonctionnera.
Toutefois, si vous voulez modifier les options, vous aurez besoin de définir la valeur de l' validate_password_length
variable système. Vous pouvez le faire dans le fichier de configuration ou:
SET GLOBAL validate_password_length=6;
tout d'Abord vous connecter avec mysql -u root -p
et cochez la politique actuelle des règles par:
# SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_dictionary_file | |
| validate_password_length | 5 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
Ensuite, vous pouvez modifier les variables ci-dessus:
# SET GLOBAL validate_password_length = 5;
# SET GLOBAL validate_password_number_count = 0;
# SET GLOBAL validate_password_mixed_case_count = 0;
# SET GLOBAL validate_password_special_char_count = 0;
enfin vous pouvez créer une base de données et un utilisateur y accédant avec un mot de passe plus simple:
# CREATE DATABASE test1;
# GRANT ALL PRIVILEGES ON test1.* TO user1@localhost IDENTIFIED BY "pass1";
# FLUSH PRIVILEGES;
Après cela, vous pouvez vous connecter avec mysql -u user1 -p test1
utilisation du mot de passe pass1
MySQL 5.7+ par défaut nantis système de validation du mot de passe. Dans le cas où vous ne voulez pas aller strictement avec la Politique et avez besoin d'assigner votre propre, puis juste désactiver la validation du mot de passe et redémarrer mysqld processus.
Modifier mon.cnf fichier :
vi /etc/my.cnf
[mysqld]
validate-password=off
Enregistrez le fichier, puis restart le processus
sudo service mysqld restart
or
systemctl restart mysqld
et puis changer le Mot de passe Root en utilisant ce qui suit et en suivant les étapes, il ne lancera pas d'exception pour le mot de passe Root.
mysql_secure_installation
or
/usr/bin/mysql_secure_installation
Si vous faites installation pour les première et que vous voulez savoir sur le mot de passe temporaire puis utilisez ce qui suit pour trouver le mot de passe pour la première fois:
grep 'temporary password' /var/log/mysqld.log
faites-moi part de vos commentaires sur le même sujet, dans l'encadré ci-dessous.
je crois que vous pouvez le contourner en utilisant un mot de passe pré-hashé comme ceci: -
CREATE USER 'newsier'@'localhost' IDENTIFIED WITH mysql_native_password
AS '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E';
mais cela signifie que vous avez besoin de hash special
correctement avant que cela ne définisse réellement un mot de passe que vous pouvez ensuite utiliser la version en clair.
il est possible de désactiver entièrement le mot de passe "plugin" qui semble trop strict en exécutant le suivant:
uninstall plugin validate_password
si vous en avez encore besoin, vous pouvez le rallumer via:
INSTALL PLUGIN validate_password SONAME 'validate_password.so'
eventuellement, vous pouvez le désactiver, définissez votre mot de passe et de le ré-activer:
uninstall plugin validate_password;
CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special';
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
autres lecture:
vérifiez les règles actuelles de la Politique de mot de passe par
SHOW VARIABLES LIKE 'validate_password%';
Maintenant définir la nouvelle valeur de ces variables:
SET GLOBAL validate_password_length = 6 // that you like
SET GLOBAL validate_password_policy = 'LOW'
Cela peut vous aider:
GRANT ALL ON wordpress.* TO 'user'@'localhost' IDENTIFIED WITH mysql_native_password AS'yourpassword';