Heim  >  Artikel  >  Datenbank  >  So reparieren Sie das MySQL-Passwort, wenn ich es vergesse

So reparieren Sie das MySQL-Passwort, wenn ich es vergesse

WBOY
WBOYnach vorne
2023-06-02 15:22:212585Durchsuche

Zunächst müssen wir verstehen, wie MySQL-Passwörter gespeichert werden. MySQL speichert Passwörter als verschlüsselte Hash-Strings mithilfe der Verschlüsselungsfunktion SHA1() und einer zufälligen Zeichenfolge namens Salt. Da der Verschlüsselungsprozess von MySQL-Passwörtern irreversibel ist, müssen wir einige spezifische Maßnahmen ergreifen, um ihn wiederherstellen zu können.

Methode 1: Verwenden Sie den Root-Benutzer, um das Passwort zu ändern

Wenn Sie über Root-Berechtigungen verfügen, können Sie die folgenden Schritte verwenden, um das Passwort zu ändern:

#🎜 🎜#1. Melden Sie sich mit root beim MySQL-Server an als

mysql -u root -p

mysql -u root -p

2.输入root用户密码

3.进入MySQL命令行

4.进入mysql命令行后,使用以下命令来修改root用户密码:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;

5.退出MySQL,使用新密码重新登录

在使用MySQL时,root用户具有最高的权限,因此如果您知道root用户的密码,那么修改MySQL的密码就变得非常简单了。

方法二:重置MySQL密码

如果您无法通过root用户来修改密码,或者根本不知道root密码,那么重置MySQL密码可能是您的最佳选择。以下是两种常用的重置MySQL密码的方法:

方法1:使用skip-grant-tables重置MySQL密码

这种方法将跳过MySQL的用户认证过程,并允许您无需提供密码就可以登录MySQL。以下是具体步骤:

1.停止MySQL服务

sudo systemctl stop mysql

2.执行以下命令以跳过MySQL的用户认证过程:

sudo mysqld_safe --skip-grant-tables &

3.以root身份登录MySQL服务器

mysql -u root

4.在进入MySQL命令行后,使用以下命令来修改密码:

mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';

请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;

5.刷新mysql.user表

mysql> FLUSH PRIVILEGES;

6.退出MySQL,并重新启动MySQL

sudo systemctl start mysql

7.使用新密码重新登录MySQL

方法2:使用重置脚本重置MySQL密码

这种方法需要您以root身份运行脚本,并且需要知道MySQL的数据文件所在位置。以下是具体步骤:

1.停止MySQL服务

sudo systemctl stop mysql

2.找到MySQL的数据文件

默认情况下,MySQL将其数据文件存储在/var/lib/mysql目录中。执行以下命令可以找到数据文件的确切位置:

sudo find / -name "*.frm"

3.创建重置脚本

请使用以下命令将以下代码保存到resetmysql.sh文件中:

#!/bin/bash
/usr/sbin/mysqld --skip-grant-tables --skip-networking  &
sleep 5s

mysql -u root <<EOF
UPDATE mysql.user SET Password=PASSWORD(&#39;new_password&#39;) WHERE User=&#39;root&#39;;
FLUSH PRIVILEGES;
EOF

killall mysqld
sleep 5s
/usr/sbin/mysqld --skip-networking &

请将“new_password”替换为您要设置的新密码。

4.运行脚本重置MySQL密码

使用以下命令以root权限运行重置脚本:

sudo bash resetmysql.sh

5.启动MySQL

sudo systemctl start mysql2. Geben Sie das Root-Benutzerpasswort ein. 🎜🎜#

3. Geben Sie die MySQL-Befehlszeile ein

4. Ändern Sie nach Eingabe der MySQL-Befehlszeile das Root-Benutzerkennwort:

mysql> SET PASSWORD FOR 'root'@'localhost ' = PASSWORD('new_password');#🎜🎜##🎜🎜#Bitte ersetzen Sie „new_password“ durch das neue Passwort, das Sie festlegen möchten, und erstellen Sie es Fügen Sie am Ende der MySQL-Befehlszeile unbedingt ein Semikolon hinzu. #🎜🎜 ##🎜🎜#5 Beenden Sie MySQL und melden Sie sich erneut mit einem neuen Passwort an Wenn Sie also das Passwort des Root-Benutzers kennen, ist das Ändern des MySQL-Passworts ganz einfach. Es ist sehr einfach geworden. #🎜🎜##🎜🎜#Methode 2: MySQL-Passwort zurücksetzen #🎜🎜##🎜🎜#Wenn Sie das Passwort nicht über den Root-Benutzer ändern können oder das Root-Passwort überhaupt nicht kennen, kann es sein, dass Sie das MySQL-Passwort zurücksetzen Ihre beste Option Beste Wahl. Im Folgenden sind zwei häufig verwendete Methoden zum Zurücksetzen des MySQL-Passworts aufgeführt: #🎜🎜##🎜🎜#Methode 1: Verwenden Sie Skip-Grant-Tables, um das MySQL-Passwort zurückzusetzen. #🎜🎜##🎜🎜#Diese Methode überspringt den MySQL-Benutzerauthentifizierungsprozess und ermöglicht Ihnen die Anmeldung bei MySQL, ohne ein Passwort anzugeben. Im Folgenden sind die spezifischen Schritte aufgeführt: #🎜🎜##🎜🎜#1. Stoppen Sie den MySQL-Dienst #🎜🎜##🎜🎜#sudo systemctl stop mysql#🎜🎜##🎜🎜#2. Führen Sie den folgenden Befehl aus, um den MySQL-Benutzerauthentifizierungsprozess zu überspringen: #🎜🎜##🎜🎜#sudo mysqld_safe --skip-grant-tables &amp;#🎜🎜##🎜🎜#3. Melden Sie sich an den MySQL-Server als Root #🎜🎜##🎜🎜#mysql -u root#🎜🎜##🎜🎜#4 Nachdem Sie die MySQL-Befehlszeile eingegeben haben, verwenden Sie den folgenden Befehl, um das Passwort zu ändern: #🎜🎜##🎜🎜 #mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';#🎜🎜##🎜🎜#Bitte ersetzen Sie „new_password“ mit dem neuen Passwort, das Sie festlegen möchten, und stellen Sie sicher, dass Sie am Ende der MySQL-Befehlszeile ein Semikolon hinzufügen. Beenden Sie MySQL und starten Sie MySQL neu >sudo systemctl start mysql#🎜🎜##🎜🎜#7. Melden Sie sich erneut mit dem neuen Passwort MySQL an#🎜🎜##🎜🎜#Methode 2: Verwenden Sie das Reset-Skript, um das MySQL-Passwort zurückzusetzen#🎜🎜 ##🎜🎜#Diese Methode erfordert, dass Sie das Skript als Root ausführen und den Speicherort der MySQL-Datendateien kennen. Im Folgenden sind die spezifischen Schritte aufgeführt: #🎜🎜##🎜🎜#1. Stoppen Sie den MySQL-Dienst #🎜🎜##🎜🎜#sudo systemctl stop mysql#🎜🎜##🎜🎜#2. Finden Sie die MySQL-Datendateien#🎜🎜##🎜🎜#Standardmäßig speichert MySQL seine Datendateien im Verzeichnis /var/lib/mysql. Den genauen Speicherort der Datendateien können Sie ermitteln, indem Sie den folgenden Befehl ausführen: #🎜🎜##🎜🎜#sudo find / -name "*.frm"#🎜🎜##🎜🎜#3 . Erstellen Sie ein Reset-Skript #🎜🎜##🎜🎜# Bitte verwenden Sie den folgenden Befehl, um den folgenden Code in der Datei resetmysql.sh zu speichern: #🎜🎜#rrreee#🎜🎜# Bitte ersetzen Sie „new_password“ durch das gewünschte neue Passwort einstellen. #🎜🎜##🎜🎜#4. Führen Sie das Skript aus, um das MySQL-Passwort zurückzusetzen. #🎜🎜##🎜🎜#Verwenden Sie den folgenden Befehl, um das Reset-Skript mit Root-Rechten auszuführen: #🎜🎜##🎜🎜# sudo bash resetmysql. sh#🎜🎜##🎜🎜#5. Starten Sie MySQL#🎜🎜##🎜🎜#sudo systemctl start mysql#🎜🎜##🎜🎜#6. Mit neuem Passwort neu starten Melden Sie sich bei MySQL an#🎜🎜##🎜🎜#Zu diesem Zeitpunkt sollten Leser bereits die folgenden zwei Methoden kennen, um das Problem des vergessenen MySQL-Passworts zu lösen: Verwenden Sie den Root-Benutzer, um das Passwort zu ändern, und verwenden Sie den Reset MySQL-Passwortskript zum Zurücksetzen des Passworts. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo reparieren Sie das MySQL-Passwort, wenn ich es vergesse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen