wake-up-neo.com

So erstellen Sie ein sechsstelliges Passwort in MySQL 5.7

Ich muss auf meinem Mac in MySQL einen Benutzer mit einem sechsstelligen Passwort erstellen. Ich weiß, dass die niedrigste Einstellung in 5.7 nur acht Zeichen erlaubt. Gibt es eine Möglichkeit, das zu umgehen?

Ich gebe CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special' ein

Es gibt den Fehler aus 

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
16
user3703723

Sie verwenden das Plugin password validation . Standardmäßig sind nur 8 Zeichen und längere Kennwörter zulässig. Da der Wert eines Hashes nicht überprüft werden kann, ist @RiggsFolly korrekt, dass das Vorhashing des Kennworts funktioniert.

Wenn Sie jedoch die Optionen ändern möchten, müssen Sie den Wert der Systemvariablen validate_password_length einstellen. Sie können dies in der Konfigurationsdatei tun oder:

SET GLOBAL validate_password_length=6;
8
miken32

Zuerst melden Sie sich mit mysql -u root -p an und überprüfen die aktuellen Richtlinienregeln durch:

# 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      |
+--------------------------------------+--------+

Dann können Sie die oben genannten Variablen nach Belieben ändern:

# 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;

Schließlich können Sie eine Datenbank und einen Benutzer mit einem einfacheren Kennwort erstellen:

# CREATE DATABASE test1;
# GRANT ALL PRIVILEGES ON test1.* TO [email protected] IDENTIFIED BY "pass1";
# FLUSH PRIVILEGES;

Danach können Sie sich mit mysql -u user1 -p test1 mit dem Passwort pass1 anmelden.

36

MySQL 5.7+ hat standardmäßig ein Kennwortüberprüfungssystem. Wenn Sie sich nicht strikt an die Richtlinie halten und Ihre eigene zuweisen möchten, deaktivieren Sie einfach die Kennwortüberprüfung und starten Sie den Prozess mysqld neu.

Bearbeiten Sie die Datei my.cnf:

vi /etc/my.cnf

in [mysqld]

validate-password=off

Speichern Sie die Datei und anschließend Neustart den Prozess

Sudo service mysqld restart
or
systemctl restart mysqld

und dann Ändern des Root-Passworts mit den folgenden Anweisungen und befolgen Sie die Schritte, die keine Ausnahme für das Root-Passwort auslösen.

mysql_secure_installation
or
/usr/bin/mysql_secure_installation

Wenn Sie Installation für das erste Mal ausführen und das temporäres Kennwort kennenlernen möchten, suchen Sie das erstmaliges Kennwort :

 grep 'temporary password' /var/log/mysqld.log

Teilen Sie mir bitte Ihre Kommentare dazu mit.

5

Ich glaube, Sie können es umgehen, indem Sie ein vorgehashtes Passwort wie folgt verwenden: -

CREATE USER 'newsier'@'localhost' IDENTIFIED WITH mysql_native_password
       AS '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E';

Das bedeutet jedoch, dass Sie special korrekt hash müssen, bevor ein Kennwort festgelegt wird, für das Sie die Nur-Text-Version von verwenden können.

3
RiggsFolly

Sie können das Kennwort "plugin", das zu streng erscheint, vollständig deaktivieren, indem Sie Folgendes ausführen: uninstall plugin validate_password

Wenn Sie es erneut benötigen, können Sie es wieder einschalten: INSTALL PLUGIN validate_password SONAME 'validate_password.so'

Optional können Sie es deaktivieren, Ihr Kennwort festlegen und es erneut aktivieren:

uninstall plugin validate_password;
CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special';
INSTALL PLUGIN validate_password SONAME 'validate_password.so';

Lesen Sie weiter:

3
SeanDowney

Überprüfen Sie die aktuellen Kennwortrichtlinienregeln mit

SHOW VARIABLES LIKE 'validate_password%';

Legen Sie nun den neuen Wert dieser Variablen fest:

SET GLOBAL validate_password_length = 6 // that you like
SET GLOBAL validate_password_policy = 'LOW'
1