Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So lösen Sie das Problem, das MySQL-Passwort unter Linux zu vergessen
Lösung: 1. Verwenden Sie den Befehl „service mysql stop“, um den MySQL-Dienst herunterzufahren. 2. Ändern Sie die MySQL-Konfigurationsdatei „my.conf“. 3. Verwenden Sie den Befehl „service mysql start“, um die Datenbank neu zu starten . Verwenden Sie die Anweisung „use mysql“, um das Passwort zu ändern.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, MySQL8.0.22-Version, Dell G3-Computer.
So lösen Sie das Problem des Vergessens des MySQL-Passworts
Lösung:
1. Überprüfen Sie, ob der MySQL-Dienst gestartet ist, schließen Sie den MySQL-Dienst
//查看mysql服务状态 [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 pts/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 pts/0 00:00:00 grep -i mysql //关闭服务 [root@mytestlnx02 ~]# service mysql stop [root@mytestlnx02 ~]#
2. Ändern Sie die MySQL-Konfigurationsdatei my.cnf
Der Speicherort der my.cnf-Konfigurationsdatei befindet sich normalerweise in /etc/my.cnf. Einige Versionen befinden sich in /etc/mysql/my.cnf
In der Konfigurationsdatei 2 Zeilen Code das Benutzerpasswort
[mysqld] skip-grant-tables
4. Starten Sie zuerst den MySQL-Dienst neu. Kommentieren oder löschen Sie die beiden zuvor zur Konfigurationsdatei hinzugefügten Codezeilen, starten Sie dann den MySQL-Dienst neu und Sie können sich mit dem gerade festgelegten Passwort anmelden.
[root@mytestlnx02 ~]# service mysqld start [root@mytestlnx02 ~]# [root@mytestlnx02 ~]# mysql -u root Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
funktioniert unter CentOS anders.
Beim Ausführen des Befehls zum Ändern des Passworts wird immer wieder ein Fehler angezeigt Anfangspasswort
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update mysql.user set authentication_string=password('root_password') where user='root'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exitSie können sehen, dass das Anfangspasswort DN34N /=?aIfZ lautet
Verwenden Sie das Anfangspasswort, um sich anzumelden
[root@mytestlnx02 ~]# service mysql start [root@mytestlnx02 ~]# [root@mytestlnx02 ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.
Ändern Sie das Passwortmysql> update user set authentication_string=password('xxxxxxxx') where User='root';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('root_password') where User='root'' at line 1
Starten Sie den Dienst neu und er wird wirksam
[root@VM_0_8_centos ~]# grep 'temporary password' /var/log/mysqld.log 2018-09-26T04:25:54.927944Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: DN34N/=?aIfZVerwandte Empfehlungen: „
Linux Video Tutorial
“Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, das MySQL-Passwort unter Linux zu vergessen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!