Es scheint, dass ich das Kennwortüberprüfungs-Plugin in MySQL 5.7 versehentlich geladen habe. Dieses Plugin scheint alle Passwörter dazu zu zwingen, bestimmten Regeln zu entsprechen.
Ich möchte das abschalten.
Ich habe versucht, die Variable validate_password_length wie vorgeschlagen here zu ändern.
mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Ich möchte das Plugin entweder entladen oder irgendwie kastrieren.
So entferne ich das Validate-Passwort-Plugin:
mysql -h localhost -u root -p
beim MySQL-Server an.uninstall plugin validate_password;
Ich würde diese Lösung nicht für ein Produktionssystem empfehlen. Ich benutzte Diese Lösung auf einer lokalen MySQL-Instanz nur für Entwicklungszwecke.
Bauen Sie auf der Antwort von Sharfi auf, bearbeiten Sie die Datei /etc/my.cnf und fügen Sie nur diese eine Zeile hinzu:
validate_password_policy=LOW
Das sollte die Validierung, wie vom OP gefordert, ausreichend neutralisieren. Wahrscheinlich möchten Sie mysqld nach dieser Änderung neu starten. Abhängig von Ihrem Betriebssystem würde es ungefähr so aussehen:
Sudo service mysqld restart
validate_password_policy nimmt entweder die Werte 0, 1 oder 2 oder die Wörter LOW, MEDIUM und STRONG an, die diesen Zahlen entsprechen. Die Standardeinstellung ist MEDIUM (1), für die Kennwörter erforderlich sind, die mindestens einen Großbuchstaben, einen Kleinbuchstaben, eine Ziffer und ein Sonderzeichen enthalten. Die Gesamtlänge des Kennworts beträgt mindestens 8 Zeichen. Wenn Sie hier auf LOW wechseln, wird nur die Länge geprüft. Wenn dies nicht durch andere Parameter geändert wurde, wird die Länge 8 geprüft. Wenn Sie auch die Längenbegrenzung verkürzen möchten, können Sie auch validate_password_length hinzufügen die my.cnf-Datei.
Weitere Informationen zu den Ebenen und Details finden Sie unter dem mysql doc .
Für MySQL 8 wurde die Eigenschaft von "validate_password_policy" in "validate_password.policy" geändert. Die neuesten Informationen finden Sie im aktualisierten mysql doc .
Ich verwende MySQL v 8.0.12 und der Befehl zur disable Kennwort-Überprüfungskomponente lautet:
UNINSTALL COMPONENT 'file://component_validate_password';
Um es wieder zu installieren, lautet der Befehl:
INSTALL COMPONENT 'file://component_validate_password';
Wenn Sie nur change die Richtlinie für das Passwort-Validierungs-Plugin ändern möchten:
SET GLOBAL validate_password.policy = 0; // For LOW
SET GLOBAL validate_password.policy = 1; // For MEDIUM
SET GLOBAL validate_password.policy = 2; // For HIGH
Um die Passwortüberprüfung in mariadb-10.1.24 (Fedora 24) zu deaktivieren, musste ich eine Zeile in /etc/my.cnf.d/cracklib_password_check.cnf file auskommentieren:
;plugin-load-add=cracklib_password_check.so
starten Sie dann den Mariadb-Dienst neu:
systemctl restart mariadb.service
Sie können dies in der mysql-Konfigurationsdatei konfigurierenOpen /etc/my.cnf
file.____In dieser Datei machen alle Zeilen, die die Kennwortrichtlinie konfigurieren, die kommentierten Elemente
#validate-password=FORCE_PLUS_PERMANENT
#validate_password_length=10
#validate_password_mixed_case_count=1
#validate_password_number_count=1
#validate_password_policy=MEDIUM
Entfernen Sie das Kommentarzeichen und ändern Sie den Wert der Eigenschaften, die Sie ändern möchten.
Weiter zur Antwort von ktbos:
Ich habe die Datei mysqld.cnf geändert und mysql konnte nicht gestartet werden .. __ Es stellte sich heraus, dass ich die falsche Datei modifizierte!
Stellen Sie daher sicher, dass die von Ihnen geänderte Datei Segment-Tags wie [mysqld_safe] und [mysqld] enthält. Unter letzterem habe ich wie vorgeschlagen getan und die Zeile hinzugefügt:
validate_password_policy=LOW
Dies funktionierte perfekt, um mein Problem zu lösen, dass keine Sonderzeichen innerhalb des Passworts erforderlich sind.
Wenn Sie Ausnahmen machen möchten, können Sie den folgenden "Hack" anwenden. Für die mysql.plugin
-Systemtabelle ist ein Benutzer mit den Berechtigungen DELETE
und INSERT
erforderlich.
uninstall plugin validate_password;
SET PASSWORD FOR 'app' = PASSWORD('abcd');
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
Bland-Sicherheitsausschluss: Überlegen Sie, warum Sie Ihr Passwort kürzer oder einfacher machen, und vielleicht sollten Sie es durch ein komplexeres ersetzen. Ich verstehe jedoch die Momente "es ist 3 Uhr morgens und muss nur funktionieren", stellen Sie nur sicher, dass Sie kein System von Hacks erstellen, damit Sie nicht selbst gehackt werden
Deinstallation:
mysql> uninstall plugin validate_password;
Ein deinstalliertes Plugin wird von show plugins;
nicht angezeigt
Installieren:
mysql> install plugin validate_password SONAME 'validate_password.so';
Deaktiviert durch Konfiguration:
[mysqld]
validate_password = OFF
Ein Plugin kann nur dann durch Konfiguration deaktiviert werden, wenn es installiert ist.
Ich hatte ein Problem mit Ubuntu 18.04 unter MySQL. Wenn ich einen neuen Benutzer erstellen musste, war die Richtlinie immer hoch.
Die Art und Weise, in der ich herausfand, wie man das Deaktivieren für zukünftige Kollegen, die zu Ermittlungen kommen, ausschaltet, war zu niedrig.
Melden Sie sich als root am MySQL-Server an
mysql -h localhost -u root -p
Legen Sie den neuen Validierungstyp fest
SET GLOBAL validate_password_policy=0; //For Low
Starten Sie Mysql neu
Sudo service mysql restart
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'localhost' WITH GRANT OPTION;
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
sie müssen mysql nicht stoppen/starten