Ich möchte einen neuen Benutzer in MySQL mit der folgenden Syntax erstellen:
create user 'demo'@'localhost' identified by 'password';
Es wird jedoch ein Fehler zurückgegeben:
Ihr Passwort entspricht nicht den aktuellen Richtlinienanforderungen.
Ich habe viele Passwörter ausprobiert, aber sie funktionieren nicht. Wie kann ich das beheben?
SHOW VARIABLES LIKE 'validate_password%'
UNINSTALL COMPONENT 'file://component_validate_password';
Antworten:
Wegen deines Passwortes. Sie können die Kennzahlen zur Kennwortüberprüfung mithilfe der folgenden Abfrage im MySQL-Client anzeigen:
Die Ausgabe sollte ungefähr so sein:
Dann können Sie die Kennwortrichtlinienebene niedriger einstellen, zum Beispiel:
Überprüfen Sie die MySQL-Dokumentation .
quelle
SET GLOBAL validate_password_policy = 0;
SET GLOBAL validate_password.length = 6; SET GLOBAL validate_password.number_count = 0;
Aktualisiert!!SET GLOBAL validate_password.policy = 0;
HINWEIS: Dies ist möglicherweise keine sichere Lösung. Wenn Sie jedoch an einer Testumgebung arbeiten, benötigen Sie nur eine schnelle Lösung und kümmern sich nicht einmal um die Sicherheitseinstellungen. Dies ist eine schnelle Lösung.
Das gleiche Problem trat mir auf, als ich "mysql_secure_installation" ausführte und die Kennwortsicherheitsstufe auf "mittel" änderte.
Ich habe den Fehler umgangen, indem ich Folgendes ausgeführt habe:
Stellen Sie sicher, dass Sie das Plugin "validate_password" bei Bedarf neu installieren.
quelle
Wenn es Ihnen egal ist, wie die Passwortrichtlinie lautet. Sie können es auf LOW setzen, indem Sie den folgenden Befehl mysql eingeben:
quelle
SET GLOBAL validate_password.policy=LOW;
stattdessen seinFür MySQL 8 *
SET GLOBAL validate_password.policy=LOW
Referenzlink zur Erläuterung der Richtlinien - Klicken Sie hier
quelle
Nach dem Ausführen des Befehls
sudo mysql_secure_installation
.sudo mysql
, um die MySQL-Eingabeaufforderung aufzurufen.SELECT user,authentication_string,plugin,host FROM mysql.user;
, um zu überprüfen, ob der Benutzer root als Plugin auth_socket vorhanden ist .uninstall plugin validate_password;
, um Berechtigungen zu löschen, bevor Sie dies ausführen.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ändern Sie das Kennwort in ein sicheres Kennwort.HINWEIS: Weitere Hilfe finden Sie unter diesem Link https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04
quelle
Sie müssen die MySQL-Kennwortrichtlinie in LOW ändern.
Login als root
Richtlinien ändern
oder
Ausfahrt
Starten Sie den MySQL-Dienst neu
Sie müssen die MySQL-Kennwortrichtlinie in Niedrig = 0 / Mittel = 1 / Hoch = 2 ändern.
quelle
Für MySql 8 können Sie folgendes Skript verwenden:
quelle
Meiner Meinung nach setzen Sie "validate_password_policy" auf "low" ist es nicht richtig, oder das "validate password plugin" zu deinstallieren. Sie dürfen niemals Kompromisse bei der Sicherheit Ihrer Datenbank eingehen (es sei denn, Sie kümmern sich nicht wirklich darum). Ich frage mich, warum die Leute diese Optionen überhaupt vorschlagen, wenn Sie einfach ein gutes Passwort auswählen können.
Um dieses Problem zu beheben, habe ich den folgenden Befehl in mysql ausgeführt: SHOW VARIABLES LIKE 'validate_password%', wie von @JNevill vorgeschlagen. Meine "validate_password_policy" wurde zusammen mit anderen Dingen auf "Mittel" gesetzt. Hier ist der Screenshot seiner Ausführung: Validate Password Policy
Das Ergebnis ist selbsterklärend. Für ein gültiges Kennwort (wenn die Kennwortrichtlinie auf mittel eingestellt ist):
Ein gültiges Passwort muss also der Richtlinie entsprechen. Beispiele für ein gültiges Passwort für die oben genannten Regeln sind möglicherweise:
Sie können eine beliebige Kombination auswählen, solange sie der Richtlinie entspricht.
Für andere "validate_password_policy" können Sie einfach die Werte für verschiedene Optionen suchen und Ihr Passwort entsprechend auswählen (ich habe es nicht für "STRONG" versucht ).
https://dev.mysql.com/doc/refman/5.6/en/validate-password-options-variables.html
quelle
validate_password_policy
zuLOW
. Benutzer können perfekt ein sicheres Passwort erstellen oder generieren, das die Anforderung erfüllt. Wenn Sie sich nicht sicher sind, wie es geht, verwenden Sie dafür ein Tool. Zum Beispiel github.com/joseluisq/rpasswdSchritt 1: Überprüfen Sie Ihr Standard-Authentifizierungs-Plugin
Schritt 2: Erfüllen Sie Ihre Anforderungen an die Passwortüberprüfung
Schritt 3: Richten Sie Ihren Benutzer mit den richtigen Kennwortanforderungen ein
quelle
Ich hatte das gleiche Problem und die Antwort liegt direkt vor Ihnen. Denken Sie daran, wann Sie das Skript ausgeführt haben, während Sie MySQL wie installiert haben
sudo mysql_secure_installation
Dort haben Sie irgendwo ausgewählt, welchen Kennworttyp Sie auswählen möchten
Es gibt drei Ebenen der Kennwortüberprüfungsrichtlinie:
LOW Length> = 8 MEDIUM Length> = 8, numerisch, Groß- und Kleinschreibung und Sonderzeichen STRONG Length> = 8, numerisch, Mixed Case, Sonderzeichen und Wörterbuchdatei
Bitte geben Sie 0 = NIEDRIG, 1 = MITTEL und 2 = STARK ein:
Sie müssen derselben Richtlinie ein Kennwort geben
Hier einige Beispielbeispiele für Ihre Passwörter:
für Typ 0:
abcdabcd
für Typ 1:
abcd1234
für Typ 2:
ancd@1234
quelle
Fügen Sie für Laravel-Benutzer mit diesem Problem mit MySQL 8.0.x hinzu
zu Ihrer database.php-Datei wie folgt:
Es hat es für mich behoben.
quelle
Das Problem ist, dass Ihr Kennwort nicht mit den Kennwortüberprüfungsregeln übereinstimmt. Sie können die folgenden Schritte einfach ausführen, um Ihr Problem zu lösen.
Sie können einfach die Konfigurationsmatrix für die Kennwortüberprüfung anzeigen, indem Sie den folgenden Code eingeben.
Dann finden Sie in Ihrer Matrix unten Variablen mit entsprechenden Werten und dort müssen Sie überprüfen
validate_password_length
,validate_password_number_count
undvalidate_password_policy
.Überprüfen Sie die für diese Variablen verwendeten Werte. Stellen Sie sicher, dass Ihr
validate_password_length
Wert nicht größer als 6 sein sollte. Sie können diesen Wert mit dem folgenden Code auf 6 setzen.Und danach müssen Sie
validate_password_number_count
auf 0 setzen. Verwenden Sie dazu den folgenden Code.Schließlich müssen Sie Sie setzen
validate_password_policy
auflow
. Wenn Sie dies habenMedium
oderHigh
Ihre weniger sicheren Passwörter nicht zulassen. Stellen Sie dies auflow
den folgenden Code ein.quelle
Legen Sie ein Kennwort fest, das 7 MySql-Validierungsregeln entspricht
z.B:-
d_VX>N("xn_BrD2y
Wenn Sie die Validierungskriterien etwas einfacher gestalten, wird das Problem behoben
Es wird jedoch empfohlen, ein sicheres Passwort zu verwenden, um die richtige Lösung zu finden
quelle
Diese Fehlermeldung hat nichts mit dem in Ihrer Tabelle gespeicherten Passwort zu tun. Es tritt auch auf, wenn Sie eingeben (auf der SQL-Konsole)
"Passwort auswählen ('123456789')"
oder wenn
"Passwort auswählen ('A123456789')"
oder wenn
"Passwort auswählen ('A! 123456789')"
Wenn Sie tippen
"Passwort auswählen ('A! a123456789')"
dann wird es funktionieren. Verwenden Sie einfach große + kleine Buchstaben, Sonderzeichen und Zahlen, um Ihr Passwort zu erstellen.
Sie können diese Überprüfungen in my.cnf deaktivieren, aber dann besteht ein Sicherheitsrisiko!
in [mysqld] hinzufügen:
quelle
funktionierte bei mir bei der Ubuntu-Neuinstallation von mysqld nicht, musste folgendes hinzufügen: zu /etc/mysql/mysql.conf.d/mysqld.cnf oder der Server würde nicht starten (schätze, das Plugin wurde nicht auf dem Computer geladen zum richtigen Zeitpunkt, als ich es einfach ohne die Plugin-Load-Add-Direktive hinzugefügt habe)
quelle
Es gibt einige Momente, in denen es großartig ist, eine schnelle Lösung zu finden. Wenn Sie jedoch vermeiden können, die Kennwortbeschränkungen zu verringern, können Sie in Zukunft keine großen Kopfschmerzen mehr haben.
Der nächste Link stammt aus der offiziellen Dokumentation https://dev.mysql.com/doc/refman/5.6/en/validate-password.html , in der ein Beispiel genau wie Ihr Beispiel veröffentlicht und gelöst wird.
Das einzige Problem, das Sie haben, ist, dass Ihr Passwort nicht stark genug ist, um die tatsächliche Mindestrichtlinie zu erfüllen (nicht zum Entfernen empfohlen). Sie können also verschiedene Passwörter ausprobieren, wie Sie im Beispiel sehen können.
quelle
SHAR 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;
SHAR VARIABLES LIKE 'validate_password%';
quelle
quelle