Heim  >  Artikel  >  Datenbank  >  Linux MySQL hat das Root-Passwort vergessen

Linux MySQL hat das Root-Passwort vergessen

王林
王林Original
2023-05-23 10:02:362384Durchsuche

Linux MySQL hat das Root-Passwort vergessen

Wenn wir ein Linux-System verwenden und eine MySQL-Datenbank installieren, erstellen wir normalerweise einen Root-Benutzer als Administrator. Aber manchmal vergessen wir möglicherweise das Passwort des Root-Benutzers oder geraten in die Situation, dass wir uns nicht als Root-Benutzer anmelden können. Eine solche Situation könnte dazu führen, dass wir nicht auf unsere Datenbanken zugreifen, diese pflegen und sichern können, was sich negativ auf unser Geschäft auswirken könnte. Daher werden in diesem Artikel einige Lösungen vorgestellt, die uns beim Zurücksetzen des MySQL-Root-Passworts helfen.

Methode 1: Verwenden Sie das Befehlszeilentool mysqladmin

Das Befehlszeilentool mysqladmin ist ein häufig verwendetes Tool in MySQL. Es kann zum Ausführen einiger MySQL-Verwaltungsvorgänge verwendet werden. Damit können wir das Passwort des Root-Benutzers zurücksetzen.

  1. Zuerst müssen wir den MySQL-Dienst stoppen und die MySQL-Datenbank schließen:
sudo systemctl stop mysql
  1. Dann müssen wir Sudo-Berechtigungen verwenden, um den MySQL-Dienstverwaltungsbefehl auszuführen und die Autorisierungsauthentifizierung zu überspringen, um zu vermeiden, dass wir uns nicht anmelden können :
sudo mysqld_safe --skip-grant-tables &
  1. Als nächstes müssen wir die MySQL-Befehlszeile aufrufen:
sudo mysql -u root
  1. Jetzt haben wir die MySQL-Befehlszeile aufgerufen und geben den folgenden Befehl ein (Hinweis: Das neue Passwort muss entsprechend dem aktuellen festgelegt werden Situation):
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
  1. Damit das gerade festgelegte Passwort wirksam wird, müssen wir die Berechtigungen aktualisieren:
FLUSH PRIVILEGES;
  1. Abschließend verlassen wir die MySQL-Befehlszeile, stoppen den MySQL-Dienst und starten den Dienst neu:
exit
sudo systemctl stop mysql
sudo systemctl start mysql

Zu diesem Zeitpunkt haben wir das MySQL-Root-Passwort erfolgreich zurückgesetzt. Sie können sich mit dem neuen Passwort wieder bei MySQL anmelden.

Methode 2: Verwenden Sie das Skript mysql_secure_installation

Das Skript mysql_secure_installation ist ein von MySQL bereitgestelltes Installationstool. Es führt interaktive MySQL-Sicherheitseinstellungen durch, einschließlich des Entfernens anonymer Benutzer, des Deaktivierens externer Root-Anmeldungen, des Löschens von Testdatenbanken usw. Darüber hinaus kann es verwendet werden, um das Passwort des Root-Benutzers zurückzusetzen.

  1. Wir müssen das Skript mit Sudo-Berechtigungen ausführen:
sudo mysql_secure_installation
  1. Während der Ausführung des Skripts werden wir auf mehrere Probleme stoßen. Erstens haben wir die Möglichkeit, anonyme Benutzer zu entfernen. Wenn Sie den Benutzer anonym halten möchten, wählen Sie Nein. Andernfalls wählen Sie Ja.
  2. Als nächstes können wir ein neues Root-Benutzerkennwort festlegen. Neues Passwort eingeben und bestätigen.
  3. Dann lässt uns das Skript wählen, ob wir den Root-Benutzer daran hindern möchten, sich aus der Ferne anzumelden. Wenn Sie die Remote-Anmeldung zulassen möchten, wählen Sie Nein. Andernfalls wählen Sie Ja.
  4. Abschließend fragt uns das Skript, ob wir die Testdatenbank löschen möchten. Wenn Sie die Testdatenbank weiterhin verwenden möchten, wählen Sie Nein. Andernfalls wählen Sie „Ja“, um die Testdatenbank zu löschen.

Jetzt haben wir das MySQL-Root-Passwort mithilfe des Skripts mysql_secure_installation erfolgreich zurückgesetzt und einige Sicherheitseinstellungen vorgenommen. Sie können sich mit dem neuen Passwort wieder bei MySQL anmelden.

Methode 3: Passwort aus der Datenbankdatei wiederherstellen

Wenn die beiden oben genannten Methoden nicht funktionieren, können wir versuchen, das Passwort aus der Datenbankdatei wiederherzustellen. Allerdings birgt diese Methode gewisse Risiken, die zu Datenverlust oder Schäden an der Datenbankstruktur führen können. Daher sollten wir mit Vorsicht vorgehen und sicherstellen, dass wir die Datenbank gesichert haben.

  1. Stoppen Sie den MySQL-Dienst und sichern Sie die Datenbankdateien:
sudo systemctl stop mysql
sudo cp -a /var/lib/mysql /var/lib/mysql.bak
  1. Bearbeiten Sie die MySQL-Konfigurationsdatei und fügen Sie die folgende Zeile hinzu:
skip-grant-tables
sudo nano /etc/mysql/my.cnf

Speichern und beenden.

  1. Jetzt müssen wir den MySQL-Dienst als Benutzer mit Sudo-Berechtigungen starten:
sudo mysqld_safe &
  1. Dann können wir den folgenden Befehl verwenden, um die MySQL-Befehlszeile aufzurufen:
sudo mysql -u root
  1. Dann müssen wir überprüfen und reparieren Sie die MySQL-Datenbanktabelle:
mysql> use mysql;
mysql> repair table user;
mysql> exit
  1. An diesem Punkt haben wir die MySQL-Befehlszeile erfolgreich eingegeben. Sie können den folgenden Befehl verwenden, um das Root-Benutzerkennwort zurückzusetzen (Hinweis: Das neue Kennwort muss entsprechend der tatsächlichen Situation festgelegt werden):
mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit
  1. Abschließend müssen wir den MySQL-Dienst stoppen und die von uns geänderte Konfigurationsdatei wiederherstellen Vorher:
sudo nano /etc/mysql/my.cnf

Zeile „skip-grant-tables“ entfernen, speichern und beenden.

sudo systemctl stop mysql
sudo systemctl start mysql

Zu diesem Zeitpunkt haben wir das MySQL-Root-Passwort erfolgreich aus der Datenbankdatei wiederhergestellt. Sie können sich mit dem neuen Passwort wieder bei MySQL anmelden.

Zusammenfassung

Wenn Sie bei Verwendung einer Linux-MySQL-Datenbank das Root-Passwort vergessen oder sich nicht anmelden können, können Sie das Passwort mit den oben genannten drei Methoden zurücksetzen. Allerdings bergen diese Methoden gewisse Risiken. Bitte stellen Sie sicher, dass Sie die Datenbank gesichert haben und gehen Sie vorsichtig vor. Es wird außerdem empfohlen, ein sicheres Passwort festzulegen und das Passwort regelmäßig zu ändern, um die Datenbanksicherheit zu erhöhen.

Das obige ist der detaillierte Inhalt vonLinux MySQL hat das Root-Passwort 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