Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ablaufen von Passwörtern festlegen. Heute werden wir diesen kleinen Wissenspunkt näher erläutern. 1. Legen Sie manuell ein einzelnes Kennwortablaufdatum fest In MySQL 8.0 können wir den Befehl „Alter User“ verwenden, um das Kennwort ablaufen zu lassen. Zuerst erstellen wir das Konto yeyz, das Passwort ist yeyz [root@VM-0-14-centos ~]# /usr/local/mysql-8.0.19-el7-x86_64/bin/mysql -uyeyz -pyeyz -h127.0.0.1 -P4306 -e "Wählen Sie 1" mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein. +---+ | 1 | +---+ | 1 | +---+ Hier lassen wir es auslaufen: mysql> Benutzer ändern yeyz@'127.0.0.1' Passwort läuft ab; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) Schauen wir uns den Zusammenhang noch einmal an: [root@VM-0-14-centos ~]# /usr/local/mysql-8.0.19-el7-x86_64/bin/mysql -uyeyz -pyeyz -h127.0.0.1 -P4306 -e "Wählen Sie 1" mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein. Bitte verwenden Sie die Option --connect-expired-password oder rufen Sie MySQL im interaktiven Modus auf. -- Fordern Sie uns auf, über den Befehl --connect-expire-password eine Verbindung herzustellen. Fügen wir ihn hinzu und sehen wir uns an: [root@VM-0-14-centos ~]# /usr/local/mysql-8.0.19-el7-x86_64/bin/mysql -uyeyz -pyeyz -h127.0.0.1 -P4306 --connect-expired-password -e "select 1" mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein. FEHLER 1820 (HY000) in Zeile 1: Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen. – Hier werden wir aufgefordert, die Syntax „Alter User“ auszuführen, um zuerst das Kennwort zu ändern und dann das Kennwort zu verwenden. Natürlich können wir neben der manuellen Festlegung des Kennwortablaufs auch festlegen, dass das Kennwort nie abläuft, und die Ablaufzeit angeben: - Legen Sie fest, dass das Kennwort nie abläuft. mysql> Erstellen Sie den Benutzer yeyz1@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz1'. Das Kennwort läuft nie ab. Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) - Legen Sie die Ablaufdauer des Kennworts auf die angegebene Anzahl von Tagen fest. mysql> Erstellen Sie einen Benutzer yeyz2@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz2'. Das Kennwortablaufintervall beträgt 90 Tage. Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) Wenn wir die globale Richtlinie zum Ablauf von Passwörtern befolgen möchten, können wir das Schlüsselwort „default“ verwenden: mysql> Benutzer yeyz3@'127.0.0.1' erstellen, identifiziert mit 'mysql_native_password' durch 'yeyz3', Passwort läuft standardmäßig ab; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) In diesem Fall wird die durch den Parameter default_password_lifetime festgelegte Zeit eingehalten. 2. Legen Sie die globale Ablaufzeit für das Passwort fest. Wenn wir möchten, dass alle Passwörter eine Ablaufzeit haben, können wir den Parameter default_password_lifetime konfigurieren. Der Standardwert ist 0, wodurch das automatische Ablaufen von Passwörtern deaktiviert wird. Wenn der Wert von default_password_lifetime eine positive Ganzzahl N ist, gibt er die zulässige Kennwortlebensdauer in Tagen an. Daher muss das Kennwort alle N Tage geändert werden. mysql> Variablen wie „%lifetime%“ anzeigen; +-----------------------------------------+----------+ | Variablenname | Wert | +-----------------------------------------+----------+ | Lebensdauer des Standardpassworts | 0 | +-----------------------------------------+----------+ 1 Zeile im Satz (0,00 Sek.) 3. Legen Sie die globale Kennwortwiederverwendungszeit und die Anzahl der Wiederverwendungsintervalle fest Bitte beachten Sie, dass Wiederverwendbarkeitszeit, Wiederverwendbarkeitsintervall und Ablaufzeit unterschiedliche Konzepte sind. Die Ablaufzeit bedeutet, dass das Passwort zu diesem Zeitpunkt abläuft und unbrauchbar wird. Wiederverwendbar bedeutet, dass das historische Passwort erst nach einer bestimmten Zeit oder nachdem das Passwort eine bestimmte Anzahl Mal geändert wurde, wiederverwendet werden kann. Wir können die Wiederverwendbarkeitsdauer eines einzelnen Passworts oder die Anzahl der Wiederverwendbarkeitsintervalle mit der folgenden Methode festlegen: Die Ablaufzeit gibt an, wie lange es dauert, bis Sie Ihr Passwort ändern müssen; Die Anzahl der Ablaufzeiten gibt an, wie oft ein neues Passwort vergeben werden kann. Diese beiden Funktionen erfordern die Verwendung der Parameter password_history bzw. password_reuse_interval. Lassen Sie uns den Parameter password_history testen: mysql> alter user yeyz@'127.0.0.1' identifiziert mit 'mysql_native_password' von 'yeyz'; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) MySQL> mysql> Variablen wie „%password_history%“ anzeigen; +------------------+--------+ | Variablenname | Wert | +------------------+--------+ | Passwortverlauf | 0 | +------------------+--------+ 1 Zeile im Satz (0,00 Sek.) mysql> globales Passwortprotokoll auf 2 festlegen; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) -- Erste Änderung, erfolgreicher MySQL-> Benutzer yeyz@'127.0.0.1' ändern, identifiziert mit 'mysql_native_password' von 'yeyz'; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) - Zweite Änderung, Fehler gemeldetmysql> Benutzer yeyz@'127.0.0.1' ändern, identifiziert mit 'mysql_native_password' von 'yeyz'; FEHLER 3638 (HY000): Diese Anmeldeinformationen können nicht für „[email protected]“ verwendet werden, da sie der Kennwortverlaufsrichtlinie widersprechen. MySQL> Wie Sie sehen, ist der Parameter password_history zu Beginn auf 0 gesetzt. Wir ändern ihn auf 2, was bedeutet, dass das vorherige Passwort erst wiederholt werden kann, nachdem die Aktion zum Festlegen des Passworts zweimal ausgeführt wurde. Das heißt, das diesmal geänderte Passwort darf nicht mit dem vorherigen Passwort identisch sein. Dann begann ich, das Passwort in dasselbe Passwort wie „yeyz“ zu ändern. Beim ersten Mal war es erfolgreich. Als ich das Passwort zum zweiten Mal einstellte, erhielt ich eine Fehlermeldung. Diese Methode dient dazu, die Anzahl der gültigen Passwörter über Systemvariablen festzulegen. 4. Legen Sie die Zeit und das Intervall für die Wiederverwendung eines einzelnen Passworts fest - Legen Sie das Kennwort so fest, dass es alle 5 Mal wiederverwendet wird. mysql> Benutzer yeyz3@'127.0.0.1' erstellen, identifiziert mit 'mysql_native_password' durch 'yeyz3' Kennwortverlauf 5; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) - Legen Sie das Kennwort so fest, dass es alle 5 Tage wiederverwendet wird. mysql> Erstellen Sie den Benutzer yeyz4@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz4'. Kennwortwiederverwendungsintervall 5 Tage; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) - Legen Sie das Kennwort so fest, dass es alle 5 Tage oder alle 5 Mal wiederverwendet wird, je nachdem, was strenger ist. mysql> Erstellen Sie einen Benutzer yeyz5@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz5'. Kennwortwiederverwendungsintervall 5 Tage. Kennwortverlauf 5; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) - Verwenden Sie die standardmäßige globale Kennwortwiederverwendungsrichtlinie, d. h. die Parameter „Kennwortverlauf“ und „Kennwortwiederverwendungsintervall“ mysql> Benutzer yeyz6@‘127.0.0.1‘ erstellen, identifiziert mit „mysql_native_password“ durch „yeyz6“, Kennwortwiederverwendungsintervall Standardkennwortverlauf Standard; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) Oben finden Sie eine ausführliche Erläuterung der MySQL 8.0-Passwortablaufrichtlinie. Weitere Informationen zur MySQL 8.0-Passwortablaufrichtlinie finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Der Prozess der Installation und Konfiguration von Nginx in Win10
>>: Vue+Element - benutzerdefinierte Abfragekomponente
In diesem Artikel sind die Schriftarten zusammeng...
Vorwort In diesem Artikel wird ein Problem beschr...
Tutorial zur Installation und Kennworteinstellung...
Das im Projekt aufgetretene Layoutproblem unregel...
Ein Docker-Container startet beim Start beispiels...
Gibt es in MySQL eine Möglichkeit, Leerzeichen st...
Vorwort Kürzlich habe ich festgestellt, dass die ...
Vorwort Bei einem seit 4 Jahren laufenden Java EE...
Inhaltsverzeichnis Hintergrund Lösung Neue Fragen...
eins. Warum einen privaten Nexus-Server erstellen...
Unabhängig davon, ob Sie ein Windows- oder Linux-...
Die Nginx-Konfigurationsdatei ist hauptsächlich i...
Inhaltsverzeichnis Vorwort Installieren des Grafi...
Die Antwort, die Sie oft hören, ist, dass die Ver...
Inhaltsverzeichnis 1. Einführung in den Plattform...