MySQL ist eines der beliebtesten Datenbankverwaltungssysteme für Webanwendungen. MySQL hat ein Root-Passwort oder ein Passwort auf Administratorebene, genau wie viele Webdienste. Die Root-Passwörter erlauben es Benutzern, jede Top-Level-Funktion in einer Datenbank auszuführen.
Beim Einrichten von MySQL wird aus Sicherheitsgründen empfohlen, ein Root-Passwort für Ihre Datenbank einzurichten. Dies bedeutet jedoch nicht, dass Sie MySQL nicht ohne Root-Passwort verwenden können. Es liegt an Ihnen, über die anstehende Aufgabe nachzudenken und zu entscheiden, ob Sie ein Root-Passwort einrichten oder nicht.
Zurücksetzen des MySQL-Root-Passworts
Es gibt viele Fragen von MySQL-Benutzern zum Thema „So setzen Sie das MySQL-Root-Passwort zurück“. Wenn Sie ein Root-Passwort eingerichtet hatten, es aber leider aus den Augen verloren haben, führt Sie dieses Artikel-Tutorial durch den Vorgang zum Zurücksetzen des Root-Passworts sowohl unter Linux als auch unter Windows.
Voraussetzungen
- Vorhandene MySQL-Datenbank
- Administratorrechte auf dem PC, der die MySQL-Datenbank hostet
- Zugriff auf Windows- oder Linux-Server mit MySQL
- Befehlszeilenschnittstelle oder Terminalzugriff
- Ein Texteditor. (Keine Sorge, Windows-Benutzer haben Notepad standardmäßig auf ihren Computern installiert, während Linux-Benutzer vim vorinstalliert haben).
Sobald Sie alle genannten Voraussetzungen erfüllt haben, machen wir weiter und lernen, wie Sie das MySQL-Root-Passwort zurücksetzen oder ändern.
Wir werden diesen Prozess an zwei Fronten durchführen:
- So setzen Sie das MySQL-Root-Passwort unter Linux zurück
- So setzen Sie das MySQL-Root-Passwort in Windows zurück
1. So setzen Sie das MySQL-Root-Passwort unter Linux zurück
Schritt 1:Melden Sie sich bei MySQL an
Beim Booten in Ihr Linux-Betriebssystem ist es wichtig, dass Sie sich bei demselben Benutzer anmelden, der normalerweise MySQL ausführt. Dies ist entscheidend, um Fehler wie das Erstellen von Dateien im Besitz des Root-Benutzers zu vermeiden, die Ihr System beschädigen könnten. Sie können sich jedoch genauso gut als Root-Benutzer anmelden, sobald Sie Ihren MySQL-Server starten. Stellen Sie dazu sicher, dass Sie MySQL mit der folgenden Syntax starten.
user=fosslinux
Schritt 2:Suchen der vom MySQL-Dienst verwendeten .pid-Datei
Der nächste Schritt ist das Auffinden der .pid-Datei. In den meisten Linux-Systemen werden sie an diesem Ort gespeichert:
/var/lib/mysql or /var/run/mysqld/ or /usr/local/mysql/data/.
Da nicht alle Linux-Systeme gleich sind, können Sie einen der oben genannten Pfade ausprobieren und sehen, ob Sie die Datei finden können. Um die Datei schnell zu finden, können Sie Ihre Suche auf Dateien einschränken, die mit mysqld beginnen (oder Ihr Hostname) und endet mit .pid.
Hinweis: Das Durchsuchen der Datei vereinfacht den Vorgang. daher empfehlen wir Ihnen, es auszuprobieren.
Sobald Sie die Datei gefunden haben, fahren Sie mit dem nächsten Schritt fort
Schritt 3:Beenden des Prozesses mysqld / .pid
Vor dem Zurücksetzen oder Erstellen eines neuen Root-Passworts müssen wir zuerst den MySQL-Server stoppen. Öffnen Sie dazu das Terminal und führen Sie die folgende Befehlszeile aus:
kill `cat /mysql-data-directory/host_name.pid`
Hinweis: Ersetzen Sie mysql-data-directory/host_name.pid mit dem Dateinamen, den wir in Schritt 2 gefunden haben. Außerdem ist es wichtig, den gesamten Dateipfad anzugeben, um Fehler zu vermeiden.
Zusätzlicher Tipp: Stellen Sie immer sicher, dass Sie die Backtick-Taste anstelle einer einfachen Anführungszeichen-Taste verwenden. Die Backtick-Taste befindet sich auf den meisten Computern über der Tabulatortaste und vor der einen Zifferntaste.
Schritt 4:Erstellen einer neuen Root-Passwortdatei
Jetzt ist es an der Zeit, Ihren bevorzugten Texteditor zu öffnen. Für unseren Fall verwenden wir den Vim-Texteditor. Öffnen Sie das Terminal mit der Tastenkombination STRG + ALT + T und führen Sie dann den folgenden Befehl aus:
sudo vim mysql-init
Hinweis:Wenn Sie nach dem Ausführen des obigen Befehls eine Fehlermeldung erhalten, führen Sie diesen Befehl aus, um mit den anderen Prozessen fortzufahren:
sudo apt install vim
Fügen Sie nun die folgende Zeile in die Datei ein:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Hinweis: Wenn Sie die obige Zeile manuell in das Terminal eingeben, denken Sie daran, alle Semikolons und einfachen Anführungszeichen einzufügen. Ersetzen Sie außerdem das „NeuePasswort “ mit dem neuen Passwort, das Sie verwenden möchten. Stellen Sie schließlich sicher, dass Sie ein starkes und sicheres Passwort verwenden, oder lesen Sie hier, wie Sie unter Linux ein starkes Zufallspasswort generieren.
Der obige Befehl funktioniert nur auf dem Hostcomputer, den Sie beim Ausführen des Befehls verwenden. Wenn Sie jedoch vorhaben, sich mit einem anderen System zu verbinden, wird empfohlen, den localhost durch den relevanten oder eher passenden Hostnamen zu ersetzen, damit der Befehl funktioniert. Wenn Sie dies nicht tun, treten Fehler auf.
Nachdem Sie die neue Datei zu Ihrem Texteditor hinzugefügt haben, speichern Sie sie unter:
home/mysql-init.
Schritt 5:Neustart des MySQL-Servers und Anwenden des neu erstellten Passworts
Es ist an der Zeit, die Änderungen, die wir an unserem neu erstellten Passwort vorgenommen haben, anzuwenden. Zuerst starten wir den MySQL-Server neu, indem wir den folgenden Befehl im Terminal ausführen:
mysqld --init-file=/home/mysql-init &
Dieser Befehl startet MySQL und wendet das Textdatei-Passwort an, das wir im vorherigen Schritt erstellt haben. Abhängig von der Methode, die Sie zum Starten Ihres Servers verwenden, müssen Sie möglicherweise weitere Optionen hinzufügen, z. B. –defaults-file vor dem Befehl init.
Nachdem Sie das neu erstellte Passwort angewendet und den MySQL-Server neu gestartet haben, ist es an der Zeit, aufzuräumen. Wir tun dies, indem wir uns als Root-Benutzer bei Ihrem MySQL-Server anmelden und überprüfen, ob das von uns erstellte Passwort tatsächlich funktioniert. Sobald Sie sich vergewissert haben, dass die Datei gut funktioniert, fahren Sie fort und löschen Sie die Datei, die wir in Schritt 4 oben erstellt haben.
2. So setzen Sie das MySQL-Root-Passwort in Windows zurück
Wenn Sie ein Windows-Benutzer sind und gerne erfahren möchten, wie Sie Ihr MySQL-Root-Passwort unter Windows zurücksetzen, lesen Sie diesen Artikel bis zum Ende.
Schritt 1:Stoppen des MySQL-Servers.
Bevor Sie den MySQL-Server stoppen, müssen Sie sicherstellen, dass Sie als Administrator angemeldet sind.
- Drücken Sie unter Windows die Tasten Win + R, um das Dialogfeld „Ausführen“ zu öffnen, und geben Sie Folgendes ein:
services.msc
- Klicken Sie als nächstes auf OK.
- Scrollen Sie durch die Liste der Dienste nach unten und suchen Sie den MySQL-Dienst. Klicken Sie mit der rechten Maustaste darauf und wählen Sie dann die Option Stopp, wie im Bild unten gezeigt:
Schritt 2:Öffnen Sie Ihren bevorzugten Texteditor
Zur Veranschaulichung verwenden wir den standardmäßigen Notepad-Texteditor. Machen Sie sich jedoch keine Sorgen, wenn Sie einen anderen Texteditor haben, da die Prozesse ähnlich sind.
- Klicken Sie nun auf das Startmenü und suchen Sie nach Notepad. Klicken Sie darauf, um es zu starten.
Verwenden Sie alternativ diesen Pfad, um Notepad zu finden:Menü>Windows-Zubehör>Notepad.
Schritt 3:Erstellen einer neuen Passwort-Textdatei mit dem Passwort-Befehl
Kopieren Sie die folgende Syntax und fügen Sie sie in den Texteditor ein, um Fehler bei der manuellen Eingabe zu vermeiden:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Achten Sie wie bei Linux darauf, das Semikolon und die einfachen Anführungszeichen beizubehalten und das NewPassword zu ersetzen Phrase mit dem neuen Passwort, das Sie auf Ihrem MySQL verwenden möchten.
Klicken Sie auf die Option Datei und dann auf Speichern unter, um das Passwort der Textdatei im Stammverzeichnis Ihrer Festplatte zu speichern. Speichern Sie die Datei als mysql-init.txt.
Folglich kann der localhost-Befehl nur Passwortänderungen auf Ihrem System vornehmen. Wenn Sie also beabsichtigen, das Passwort auf einem anderen System zu ändern, beispielsweise über das Netzwerk, dann ersetzen Sie localhost durch den entsprechenden Hostnamen für das andere System.
Schritt 4:Starten Sie CMD (Eingabeaufforderung)
- Klicken Sie auf Ihrer Tastatur auf die Tasten Strg + Umschalt + Esc
- Wählen Sie das Dateimenü und führen Sie dann eine neue Aufgabe aus
- Geben Sie cmd.exe ein und aktivieren Sie das Kontrollkästchen Als Administrator ausführen
- Klicken Sie auf OK, um eine Eingabeaufforderung mit Administratorrechten zu starten.
Schritt 5:MySQL Server neu starten und die neue Konfigurationsdatei anwenden
- Navigieren Sie mit der Eingabeaufforderung zum MySQL-Verzeichnis:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
- Geben Sie als Nächstes den folgenden Befehl ein:
mysqld --init-file=C:\\mysql-init.txt
Hinweis: Beachten Sie, dass vor mysql-init zwei Backslashes stehen prompt. Außerdem sollten Sie, wenn Sie einen anderen Namen verwendet haben als den, den wir zur Veranschaulichung in Schritt 2 oben verwendet haben, diesen Namen direkt nach den beiden Backslashes ohne Leerzeichen verwenden.
Sobald dies abgeschlossen ist, können Sie sich jetzt mit dem neu erstellten Passwort als Root-Benutzer bei Ihrem MySQL anmelden.
Stellen Sie sicher, dass Sie noch einmal überprüfen, ob das neue Passwort einwandfrei funktioniert. Fahren Sie nach der Bestätigung fort und entfernen Sie die mysql-init.txt-Datei, die wir in unserem C:\-Verzeichnis gespeichert haben.
Allgemeine Anweisungen zum Zurücksetzen des MySQL-Root-Passworts
Die vorangegangenen Abschnitte enthalten ausführliche Anweisungen zum Zurücksetzen von MySQL-Root-Passwörtern für Linux und Windows. Alternativ können Sie bei Verwendung einer beliebigen Plattform den MySQL-Client verwenden, um das Kennwort zurückzusetzen. Es ist jedoch wichtig zu beachten, dass diese Methode im Vergleich zu den vorherigen Methoden weniger sicher ist.
Um den MySQL-Client zu verwenden, befolgen Sie die unten hervorgehobenen Schritte:
1. Der erste Schritt besteht darin, den MySQL-Server zu stoppen. Starten Sie es nach dem Stoppen mit der folgenden Option neu:
--skip-grant-tables
Diese Option ermöglicht es jedem, sich ohne Passwort zu verbinden, aber mit allen Privilegien, und sie deaktiviert Kontoverwaltungsanweisungen wie ALTER USER und PASSWORT FESTLEGEN.
Diese Option gilt als unsicher, da der Server mit den –skip-grant-tables startet Option Netzwerk überspringen wird durch Deaktivieren von Remote-Verbindungen aktiviert.
2. Verbinden Sie sich nun mit dem MySQL-Server, indem Sie den folgenden Befehl ausführen:
mysql
Hinweis: Beim Neustart des MySQL-Servers mit dem MySQL-Client ist kein Passwort erforderlich, da der Server mit den –skip-grant-tables gestartet wurde .
3. Führen Sie nun im MySQL-Client den folgenden Befehl aus, um den Server anzuweisen, die Grant-Tabellen neu zu laden. Dadurch können die zuvor angehaltenen Kontoverwaltungsauszüge wieder funktionieren:
mysql> FLUSH PRIVILEGES;
Führen Sie nach dem Ausführen des Befehls den Befehl ALTER USER aus, um das Kennwort zu ändern. Ersetzen Sie MyNewPass , mit dem neuen Passwort, das Sie verwenden möchten.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Hinweis: Um das Root-Passwort für ein anderes System zu ändern, stellen Sie sicher, dass Sie localhost durch den Hostnamen des Systems ersetzen.
Jetzt können Sie sich mit dem von uns erstellten Passwort als Root-Benutzer mit Ihrem MySQL-Server verbinden. Stoppen Sie dann den Server und starten Sie ihn normal ohne die –skip-grant-tables neu Optionen und ohne Aktivierung der Skip-Networking-Variablen.
Das ist alles, womit Sie Ihr MySQL-Root-Passwort erfolgreich zurückgesetzt haben.
Schlussfolgerung
Wenn Sie MySQL zuvor ein Root-Passwort zugewiesen hatten, es aber vergessen haben, können Sie es zurücksetzen, indem Sie Ihrem MySQL ein neues Passwort zuweisen, wie in diesem Artikel gezeigt.
Hinweis: MySQL benötigt kein Root-Passwort, um sich zu verbinden. Der Nachteil, Ihrem MySQL kein Root-Passwort zuzuweisen, ist jedoch, dass es unsicher ist und Sie Ihre Wertsachen verlieren könnten. Wenn Sie also noch nie ein Root-Passwort für Ihr MySQL festgelegt haben, empfehlen wir Ihnen dringend, die oben genannten Schritte zu befolgen, um eines zu erstellen und Ihre Daten und Informationen zu sichern.