Vorwort Die Anwendungs- und Lernumgebung von MySQL bestand lange Zeit aus MySQL 5.6 und früheren Versionen, und den Änderungen und neuen Funktionen der neuen Version MySQL 5.7 wurde keine Beachtung geschenkt. Als ich heute jemandem half, sein Root-Passwort zu vergessen, stellte ich fest, dass die vorherige Methode nicht funktionierte. Der konkrete Sachverhalt stellt sich wie folgt dar: Der Fallkontext stellt sich wie folgt dar: Betriebssystem: Red Hat Enterprise Linux Server Version 6.6 (Santiago) Datenbankversion: 5.7.18 MySQL Community Server (GPL) Passwort vergessen? Wenn Sie ein falsches Passwort eingeben, erhalten Sie folgende Fehlermeldung: [root@mytestlnx02 ~]# mysql -u root -p Passwort eingeben: FEHLER 1045 (28000): Zugriff für Benutzer „root“@„localhost“ verweigert (mit Passwort: JA) [root@mytestlnx02 ~]# Überprüfen Sie, ob der MySQL-Dienst gestartet ist. Wenn dies der Fall ist, beenden Sie den MySQL-Dienst. [root@mytestlnx02 ~]# ps -ef | grep -i mysql root 22972 1 0 14:18 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 23166 22972 0 14:18 Punkte/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock root 23237 21825 0 14:22 Punkte/0 00:00:00 grep -i mysql [root@mytestlnx02 ~]# Dienst mysqld stoppen Stoppen von mysqld: [ OK ] [root@mytestlnx02 ~]# Suchen Sie die MySQL-Konfigurationsdatei my.cnf und fügen Sie die folgenden Informationen zu /etc/my.cnf hinzu (einige Versionen sind /etc/mysql/my.cnf): [mysqld] Skip-Grant-Tabellen Dann habe ich MySQL gestartet, MySQL eingegeben und das Root-Passwort geändert. Während des Vorgangs ist mir Der konkrete Betriebsablauf ist wie folgt: [root@mytestlnx02 ~]# Dienst mysqld starten mysqld wird gestartet: [ OK ] [root@mytestlnx02 ~]# mysql -u root Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 4 Serverversion: 5.7.18 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle und/oder Tochtergesellschaften. Alle Rechte vorbehalten. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen Eigentümer. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. mysql> mysql verwenden; Einlesen von Tabelleninformationen zur Vervollständigung von Tabellen- und Spaltennamen Sie können diese Funktion deaktivieren, um einen schnelleren Start mit -A zu erhalten Datenbank geändert mysql> Benutzer aktualisieren, Passwort festlegen=PASSWORT('Kd8k&dfdl023') -> wobei Benutzer='root'; FEHLER 1054 (42S22): Unbekannte Spalte „Passwort“ in „Feldliste“ mysql> mysql.user aktualisieren, Authentifizierungszeichenfolge=Passwort festlegen('Kd8k&dfdl023'), wobei Benutzer='root'; Abfrage OK, 1 Zeile betroffen, 1 Warnung (0,00 Sek.) Übereinstimmende Zeilen: 1 Geändert: 1 Warnungen: 1 mysql> Berechtigungen leeren; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> beenden Kommentieren oder löschen Sie in der Datei my.cnf die Zeile „skip-grant-tables“, die Sie gerade hinzugefügt haben. Anschließend müssen Sie nach dem Neustart des MySQL-Dienstes den Befehl [root@mytestlnx02 ~]# Dienst mysqld starten mysqld wird gestartet: [ OK ] [root@mytestlnx02 ~]# mysql -u root -p Passwort eingeben: Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 4 Serverversion: 5.7.18 Copyright (c) 2000, 2017, Oracle und/oder Tochtergesellschaften. Alle Rechte vorbehalten. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen Eigentümer. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. mysql> mysql verwenden; FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen. mysql> Passwort festlegen=Passwort('Kd8k&dfdl023'); Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.) Nachdem ich einige relevante Informationen überprüft hatte, stellte ich fest, dass MySQL 5.7 in Bezug auf die Sicherheit einige neue Funktionen bietet. 1. Das Plugin-Feld der Benutzertabelle mysql.user darf nicht leer sein. Der Standardwert ist mysql_native_password statt mysql_old_password. Das alte Passwortformat wird nicht mehr unterstützt. 2. Fügen Sie einen Mechanismus zum Ablaufen von Passwörtern hinzu. Nach Ablauf müssen Sie das Passwort ändern, andernfalls wird es möglicherweise deaktiviert oder wechselt in den Sandbox-Modus. Ob das Ablaufen von Passwörtern aktiviert wird, wird durch den Parameter default_password_lifetime gesteuert. mysql> Variablen wie „default_password_lifetime“ anzeigen; +-----------------------------------------+----------+ | Variablenname | Wert | +-----------------------------------------+----------+ | Lebensdauer des Standardpassworts | 0 | +-----------------------------------------+----------+ 1 Zeile im Satz (0,00 Sek.) MySQL> 3: Einstellungen für Kennwortsicherheitsstufe und Kennwortkomplexität hinzugefügt. Die Parameter sind wie folgt: mysql> Variablen wie „validate_password%“ anzeigen; +--------------------------------------+--------+ | Variablenname | Wert | +--------------------------------------+--------+ | Passwort validieren_Benutzername prüfen | AUS | | Passwortwörterbuchdatei validieren | | | Passwortlänge validieren | 8 | | Anzahl der Passworteinträge in gemischter Groß- und Kleinschreibung validieren | 1 | | Anzahl_der_Passwort_validierungsnummern | 1 | | Passwortrichtlinie validieren | MITTEL | | Anzahl der Sonderzeichen für Passwortvalidierung | 1 | +--------------------------------------+--------+ 7 Zeilen im Satz (0,00 Sek.) 4. Wenn Sie mysql_install_db zum Initialisieren verwenden, wird standardmäßig automatisch ein zufälliges Kennwort generiert und in /var/log/mysqld.log abgelegt. Es werden keine anderen Konten außer root@localhost und mysql.sys@localhost erstellt und es wird keine Testbibliothek erstellt. [root@mytestlnx02 mysql]# yum localinstall mysql-community-{server,client,common,libs}-* [root@mytestlnx02 mysql]# rpm -qa | grep -i mysql mysql-community-client-5.7.18-1.el6.i686 mysql-community-libs-5.7.18-1.el6.i686 perl-DBD-MySQL-4.013-3.el6.x86_64 mysql-community-server-5.7.18-1.el6.i686 mysql-community-common-5.7.18-1.el6.i686 mysql-community-libs-compat-5.7.18-1.el6.i686 [root@mytestlnx02 mysql]# Dienst mysqld start MySQL-Datenbank initialisieren: [ OK ] Plugin zur Passwortvalidierung wird installiert: [ OK ] mysqld wird gestartet: [ OK ] [root@mytestlnx02 mysql]# [root@mytestlnx02 mysql]# grep 'temporäres Passwort' /var/log/mysqld.log 2017-05-05T06:10:57.802143Z 1 [Hinweis] Ein temporäres Passwort wird für root@localhost generiert: w99s(m-q_ML: mysql> Benutzer, Host vom Benutzer auswählen; +--------------+--------------+ | Benutzer | Gastgeber | +--------------+--------------+ | mysql.sys | lokaler Host | | Stammverzeichnis | lokaler Host | +--------------+--------------+ 2 Zeilen im Satz (0,00 Sek.) Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
>>: Vollständige Schritte zur Verwendung von Echarts und Unterverpackungen im WeChat Mini-Programm
Die Drag & Drop-API fügt ziehbare Elemente zu...
1. Was ist CSS Animations ist ein vorgeschlagenes...
Sie können dieses Logo lokal als .rar-Datei speic...
Inhaltsverzeichnis Vorwort Was ist SSH? Wofür wir...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...
Ich verwende die Funktion zur Spracherkennung mit...
1. Einleitung resolv.conf ist die Konfigurationsd...
1. Voraussetzungen: Die Datenbanksicherung ist be...
Plötzlich musste ich einen privaten Dienst für di...
Dieser Artikel stellt den Inhalt zur Git-Konfigur...
Inhaltsverzeichnis 1. Prüfen Sie, ob MySQL auf de...
<br />In der Vergangenheit musste zum Erstel...
<br />Sehen wir uns nun an, wie Sie die CSS-...
Inhaltsverzeichnis Einführung Anweisungen Tatsäch...
Inhaltsverzeichnis 1. Was ist der Nutzen von Prov...