GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So setzen Sie das Root-Passwort in MySQL 8 unter Ubuntu Linux zurück

Haben Sie Ihre MySQL-Datenbank root vergessen? Benutzer-Passwort? Keine Bange! Diese Schritt-für-Schritt-Anleitung erklärt, wie Sie das Root-Passwort in MySQL 8 auf dem Betriebssystem Ubuntu 20.04 zurücksetzen.

Hinweis: Wie Sie vielleicht bereits wissen, verwendet der MySQL-Root-Benutzer auth_socket Plugin zur Authentifizierung mit dem MySQL-Server in Ubuntu-Systemen, auf denen MySQL 5.7 und neuere Versionen ausgeführt werden. Sie können sich also als root beim MySQL-Server anmelden Benutzer mit sudo mysql Befehl, solange Sie den sudo Ihres Systembenutzers kennen Passwort. In diesem Fall ist es nicht erforderlich, das MySQL-root zu ändern Passwort. Wenn Sie die Authentifizierungsmethode für MySQL-Root bereits geändert haben Benutzer zu entweder caching_sha2_password oder mysql_native_password , führen Sie die folgenden Schritte aus, um den root zurückzusetzen Passwort der MySQL-Datenbank.

Root-Passwort in MySQL 8 unter Ubuntu Linux zurücksetzen

1. Stoppen Sie zuerst den MySQL-Dienst mit dem Befehl:

$ sudo systemctl stop mysql

Dadurch wird der MySQL-Dienst gestoppt, falls er ausgeführt wird. Sie können den Status des MySQL-Dienstes mit folgendem Befehl überprüfen:

$ sudo systemctl status mysql

Beispielausgabe:

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago
     Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 1446 (code=exited, status=0/SUCCESS)
      Status: "Server shutdown complete"
 May 31 07:57:50 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 07:57:51 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
 May 31 11:01:14 ubuntu2004.localdomain systemd[1]: Stopping MySQL Community Server…
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: mysql.service: Succeeded.
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: Stopped MySQL Community Server.

2. Als nächstes starten Sie den MySQL-Server ohne Berechtigungsprüfung. Führen Sie dazu Folgendes aus:

$ sudo systemctl edit mysql

Dadurch wird mysql geöffnet systemd Konfigurationsdatei Ihr Standard-Texteditor. In meinem Fall ist es nano Herausgeber.

Fügen Sie darin die folgenden Zeilen hinzu:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

Nachdem Sie die obigen Zeilen hinzugefügt haben, drücken Sie CTRL+O und ENTER um die Datei zu speichern und drücken Sie dann CTRL+X um es zu schließen.

Hier die --skip-grant-tables Option ermöglicht es Ihnen, sich ohne Passwort und mit allen Privilegien mit dem MySQL-Datenbankserver zu verbinden. Außerdem werden Kontoverwaltungsanweisungen wie ALTER USER deaktiviert und SET PASSWORD . Und das --skip-networking Option wird verwendet, um zu verhindern, dass andere Clients eine Verbindung zum Datenbankserver herstellen. Da alle Remote-Verbindungen deaktiviert werden, kann keiner der Remote-Clients auf den Datenbankserver zugreifen, bis Sie den Datenbankserver normal neu starten.

3. Laden Sie systemd neu Konfiguration mit dem Befehl:

$ sudo systemctl daemon-reload

4. MySQL-Dienst starten:

$ sudo systemctl start mysql

Dadurch wird der MySQL-Server mit --skip-grant-table gestartet s und --skip-networking Optionen. Sie können dies überprüfen, indem Sie den Status des MySQL-Dienstes überprüfen:

$ sudo systemctl status mysql
 ● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Drop-In: /etc/systemd/system/mysql.service.d
              └─override.conf
      Active: active (running) since Mon 2021-05-31 11:39:18 UTC; 1min 23s ago
     Process: 1882 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Main PID: 1905 (mysqld)
      Status: "Server is operational"
       Tasks: 36 (limit: 2280)
      Memory: 331.0M
      CGroup: /system.slice/mysql.service
              └─1905 /usr/sbin/mysqld --skip-grant-tables --skip-networking
 May 31 11:39:16 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 11:39:18 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

5. Verbinden Sie sich nun als root mit dem MySQL-Server Benutzer ohne Passwort:

$ sudo mysql -u root

Sie landen sofort im MySQL-Shell-Prompt.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

6. Wir haben uns beim Datenbankserver angemeldet, ohne Berechtigungstabellen zu laden (weil wir --skip-grant-tables verwendet haben Möglichkeit). Wir können also ALTER USER nicht verwenden Befehl, der zum Zurücksetzen des Passworts benötigt wird. Um Berechtigungstabellen zu laden, führen Sie den folgenden Befehl von der MySQL-Shell-Eingabeaufforderung aus:

mysql> FLUSH PRIVILEGES;

7. Führen Sie als Nächstes einen der folgenden Befehle aus, um MySQL root zurückzusetzen Passwort.

Wenn Sie caching_sha2_password verwenden Plugin, führe aus:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';

Wenn Sie mysql_native_password verwenden plugin, führen Sie stattdessen Folgendes aus:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';

Ersetzen Sie Password123#@! mit Ihren eigenen.

Nach dem Ändern des MySQL-root Kennwort, verlassen Sie die Eingabeaufforderung der MySQL-Shell:

mysql> exit

8. Setzen Sie das geänderte systemd zurück Konfiguration zurück auf die normalen Einstellungen mit dem Befehl:

$ sudo systemctl revert mysql

Dadurch werden alle geänderten Dateien entfernt.

Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.

9. Laden Sie systemd neu Konfiguration, um die Änderungen zu übernehmen:

$ sudo systemctl daemon-reload

10. Starten Sie schließlich den MySQL-Server normal neu:

$ sudo systemctl restart mysql

11. Jetzt sollten Sie sich als root mit der MySQL-Datenbank verbinden können Benutzer mit dem new password mit Befehl:

$ mysql -u root -p

Geben Sie den root ein Passwort für den Zugriff auf die MySQL-Shell-Eingabeaufforderung:

mysql> 

Es gibt auch eine andere Möglichkeit, MySQL root zu ändern Passwort unter Linux. Es unterscheidet sich geringfügig von dieser Methode. Wenn Sie es wissen möchten, werfen Sie einen Blick auf den folgenden Link:

>> How To Reset MySQL Root User Password In Linux

Schlussfolgerung

Wie Sie sehen können, ist das Zurücksetzen des MySQL-Root-Passworts einfach! Wenn Sie die obigen Schritte sorgfältig befolgt haben, können Sie Ihr MySQL-Datenbank-Root-Passwort in wenigen Minuten wiederherstellen. Verliere es nicht wieder. Merken Sie sich Ihr Passwort oder bewahren Sie es an einem sicheren Ort auf.


Ubuntu
  1. So setzen Sie das Root-MySql-Passwort zurück

  2. So setzen Sie das Root-MySql-Passwort zurück

  3. Wie setzt man das Ubuntu-Passwort zurück?

  4. So setzen Sie das Root-Passwort MySQL Server zurück

  5. So setzen Sie das MySQL-Root-Passwort zurück

So setzen Sie das MySQL-Root-Passwort zurück

So setzen Sie das Ubuntu 22.04 LTS-Root-Passwort zurück

So ändern Sie das Root-Passwort in Ubuntu Linux

So setzen Sie ein vergessenes Root-Passwort in Ubuntu zurück

So setzen Sie ein vergessenes Root-Passwort in Ubuntu Linux zurück

So setzen Sie das Root-Passwort auf Ubuntu 22.04 zurück