Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So lösen Sie das Problem, das MySQL-Passwort unter Linux zu vergessen

So lösen Sie das Problem, das MySQL-Passwort unter Linux zu vergessen

WBOY
WBOYOriginal
2022-01-18 15:40:3721908Durchsuche

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.

So lösen Sie das Problem, das MySQL-Passwort unter Linux zu vergessen

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

So lösen Sie das Problem, das MySQL-Passwort unter Linux zu vergessen4. 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> exit

Sie 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 Passwort

mysql> 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/=?aIfZ

Verwandte 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn