Je veux créer un nouvel utilisateur dans mysql avec la syntaxe:
create user 'demo'@'localhost' identified by 'password';
Mais cela renvoie une erreur:
Votre mot de passe ne répond pas aux exigences de la politique actuelle.
J'ai essayé de nombreux mots de passe mais ils ne fonctionnent pas. Comment puis-je réparer cela?
SHOW VARIABLES LIKE 'validate_password%'
UNINSTALL COMPONENT 'file://component_validate_password';
Réponses:
A cause de votre mot de passe. Vous pouvez voir les métriques de configuration de validation de mot de passe à l'aide de la requête suivante dans le client MySQL:
La sortie devrait être quelque chose comme ça:
alors vous pouvez définir le niveau de stratégie de mot de passe plus bas, par exemple:
consultez la documentation MySQL .
la source
SET GLOBAL validate_password_policy = 0;
SET GLOBAL validate_password.length = 6; SET GLOBAL validate_password.number_count = 0;
actualisé!!SET GLOBAL validate_password.policy = 0;
REMARQUE: cela peut ne pas être une solution sécurisée. Mais si vous travaillez sur un environnement de test, vous avez juste besoin d'une solution rapide et ne vous souciez même pas des paramètres de sécurité. C'est une solution rapide.
Le même problème m'est arrivé lorsque j'ai exécuté "mysql_secure_installation" et que j'ai modifié le niveau de sécurité du mot de passe sur "moyen".
J'ai contourné l'erreur en exécutant les éléments suivants:
assurez-vous de réinstaller le plugin "validate_password" si nécessaire.
la source
Si vous ne vous souciez pas de la politique de mot de passe. Vous pouvez le définir sur LOW en émettant la commande mysql ci-dessous:
la source
SET GLOBAL validate_password.policy=LOW;
placePour MySQL 8 *
SET GLOBAL validate_password.policy=LOW
Lien de référence pour expliquer la politique - Cliquez ici
la source
Après avoir exécuté la commande
sudo mysql_secure_installation
.sudo mysql
pour entrer dans l'invite mysql.SELECT user,authentication_string,plugin,host FROM mysql.user;
pour vérifier que l'utilisateur root a comme plugin auth_socket .uninstall plugin validate_password;
pour supprimer les privilèges avant d'exécuter ceci.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Assurez-vous de remplacer le mot de passe par un mot de passe fort.REMARQUE: consultez ce lien https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 pour plus d'aide
la source
Vous devez changer la politique de mot de passe MySQL sur LOW.
connectez-vous en tant que root
changer de politique
ou
sortie
redémarrer le service MySQL
Vous devez changer la politique de mot de passe MySQL en Faible = 0 / Moyen = 1 / Élevé = 2.
la source
Pour MySql 8, vous pouvez utiliser le script suivant:
la source
À mon avis, régler "validate_password_policy" sur "low" ou désinstaller le "validate password plugin" n'est pas la bonne chose à faire. Vous ne devez jamais compromettre la sécurité de votre base de données (sauf si vous ne vous en souciez pas vraiment). Je me demande pourquoi les gens suggèrent même ces options alors que vous pouvez simplement choisir un bon mot de passe.
Pour surmonter ce problème, j'ai exécuté la commande suivante dans mysql: SHOW VARIABLES LIKE 'validate_password%' comme suggéré par @JNevill. Mon "validate_password_policy" a été défini sur Medium, avec d'autres choses. Voici la capture d'écran de son exécution: Valider la politique de mot de passe
Le résultat est explicite. Pour un mot de passe valide (lorsque la stratégie de mot de passe est définie sur moyen):
Un mot de passe valide doit donc obéir à la politique. Des exemples de mot de passe valide pour les règles ci-dessus peuvent être:
Vous pouvez choisir n'importe quelle combinaison tant qu'elle satisfait à la politique.
Pour les autres "validate_password_policy", vous pouvez simplement regarder les valeurs des différentes options et choisir votre mot de passe en conséquence (je n'ai pas essayé pour "STRONG" ).
https://dev.mysql.com/doc/refman/5.6/en/validate-password-options-variables.html
la source
validate_password_policy
en arrièreLOW
. Les utilisateurs peuvent parfaitement créer ou générer un mot de passe fort répondant à l'exigence. Si vous ne savez pas comment faire, utilisez un outil pour cela. Par exemple github.com/joseluisq/rpasswdÉtape 1: vérifiez votre plugin d'authentification par défaut
Étape 2: répondre à vos exigences de validation de mot de passe
Étape 3: configuration de votre utilisateur avec les exigences de mot de passe correctes
la source
J'ai eu le même problème et la réponse est juste devant vous, rappelez-vous quand vous avez exécuté le script lors de l'installation de mysql comme
sudo mysql_secure_installation
là, quelque part, vous avez choisi le type de mot de passe que vous aimeriez choisir
Il existe trois niveaux de stratégie de validation de mot de passe:
LOW Longueur> = 8 MEDIUM Longueur> = 8, numérique, casse mixte et caractères spéciaux STRONG Longueur> = 8, numérique, casse mixte, caractères spéciaux et fichier dictionnaire
Veuillez saisir 0 = FAIBLE, 1 = MOYEN et 2 = FORT:
vous devez donner un mot de passe à la même politique
voici quelques exemples d'exemples de vos mots de passe:
pour le type 0:
abcdabcd
pour le type 1:
abcd1234
pour le type 2:
ancd@1234
la source
Pour les utilisateurs de Laravel ayant ce problème avec MySQL 8.0.x, ajoutez
dans votre fichier database.php comme ci-dessous:
Il l'a corrigé pour moi.
la source
Le problème est que votre mot de passe ne correspondra pas aux règles de validation de mot de passe. Vous pouvez simplement suivre les étapes ci-dessous pour résoudre votre problème.
Vous pouvez simplement voir la matrice de configuration de validation de mot de passe en tapant ci-dessous le code.
Ensuite, dans votre matrice, vous pouvez trouver ci-dessous les variables avec les valeurs correspondantes et vous devez vérifier
validate_password_length
,validate_password_number_count
etvalidate_password_policy
.Vérifiez les valeurs utilisées pour ces variables. Assurez-vous que votre
validate_password_length
ne doit pas être supérieur à 6. Vous pouvez le définir sur 6 en utilisant le code ci-dessous.Et après cela, vous devez définir
validate_password_number_count
sur 0. Faites-le en utilisant le code ci-dessous.Enfin, vous devez vous mettre
validate_password_policy
àlow
. Avoir cela commeMedium
ouHigh
ne permettra pas vos mots de passe moins sécurisés. Réglez-lelow
par le code ci-dessous.la source
Définir un mot de passe qui satisfait 7 règles de validation MySql
par exemple:-
d_VX>N("xn_BrD2y
Rendre les critères de validation un peu plus simples résoudra le problème
Mais recommandé un mot de passe fort est une solution correcte
la source
Ce message d'erreur n'a rien à voir avec le mot de passe stocké dans votre table. Cela se produit également si vous tapez (sur la console SQL)
"sélectionner le mot de passe ('123456789')"
ou si
"sélectionner le mot de passe ('A123456789')"
ou si
"sélectionner le mot de passe ('A! 123456789')"
Si vous tapez
"sélectionner le mot de passe ('A! a123456789')"
alors cela fonctionnera. Utilisez simplement des lettres majuscules et minuscules, des caractères spéciaux et des chiffres pour créer votre mot de passe.
Vous pouvez désactiver ces vérifications dans my.cnf, mais vous aurez alors un risque de sécurité!
dans [mysqld] ajouter:
la source
n'a pas fonctionné pour moi sur la nouvelle installation ubuntu de mysqld, j'ai dû ajouter ceci: à /etc/mysql/mysql.conf.d/mysqld.cnf ou le serveur ne démarrerait pas (je suppose que le plugin ne s'est pas chargé au bon moment quand je l'ai simplement ajouté sans la directive plugin-load-add)
la source
Il y a des moments où trouver une solution rapide est formidable. Mais si vous pouvez éviter de baisser les restrictions de mots de passe, cela peut vous empêcher d'avoir de gros maux de tête à l'avenir.
Le lien suivant provient de la documentation officielle https://dev.mysql.com/doc/refman/5.6/en/validate-password.html , où ils exposent un exemple exactement comme le vôtre, et ils le résolvent.
Le seul problème que vous rencontrez est que votre mot de passe n'est pas assez fort pour satisfaire la politique minimale réelle (il n'est pas recommandé de le supprimer). Vous pouvez donc essayer différents mots de passe comme vous pouvez le voir dans l'exemple.
la source
SHOW VARIABLES LIKE 'validate_password%';
mysql> SET GLOBAL validate_password.length = 6;
mysql> SET GLOBAL validate_password.number_count = 0;
mysql> SET GLOBAL validate_password.policy = LOW;
SHOW VARIABLES LIKE 'validate_password%';
la source
la source