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
16
demandé sur Alexander Farber 2016-01-21 03:25:52

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;
8
répondu miken32 2016-01-21 00:59:21

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

34
répondu Alexander Farber 2016-05-31 16:51:27

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.

5
répondu Murtaza Kanchwala 2016-09-29 10:44:11

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.

3
répondu RiggsFolly 2016-01-21 00:40:08

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:

3
répondu SeanDowney 2017-03-10 20:39:58

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'
1
répondu Subarata Talukder 2017-08-12 17:43:53

Cela peut vous aider:

GRANT ALL ON wordpress.* TO 'user'@'localhost' IDENTIFIED WITH mysql_native_password AS'yourpassword';

-2
répondu Naeem Sunesara 2017-07-06 15:00:12