Datenbank · 4 min read · Feb 13, 2026
Festlegen, Ändern und Zurücksetzen von MySQL- und MariaDB-Root-Passwörtern

Dieses Tutorial erklärt, wie Sie MySQL- oder MariaDB-Root-Passwörter festlegen, ändern und zurücksetzen können (falls Sie das Passwort vergessen haben). Immer wieder sehe ich Probleme wie mysqladmin: connect to server at ‘localhost’ failed error: ‘Access denied for user ‘root’@’localhost’ (using password: YES)’. Daher dachte ich, es ist an der Zeit, Sie daran zu erinnern, wie Sie MySQL-bezogene Passwortprobleme lösen können. Wenn Sie nur nach einer schnellen Lösung suchen, wie Sie ein MySQL-Root-Passwort zurücksetzen, finden Sie diese am Ende dieses Tutorials. Dieses Tutorial ist mit allen gängigen Linux-Distributionen kompatibel, einschließlich CentOS, Debian, Fedora und Ubuntu.
Verwenden Sie den mysqladmin-Befehl, um das Root-Passwort zu ändern
Methode 1 - Richten Sie zum ersten Mal ein Root-Passwort ein
Wenn Sie noch nie ein Root-Passwort für MySQL festgelegt haben, benötigt der Server beim Verbinden als Root überhaupt kein Passwort. Um zum ersten Mal ein Root-Passwort festzulegen, verwenden Sie den mysqladmin-Befehl an der Shell-Eingabeaufforderung wie folgt:
mysqladmin -u root password newpassWenn Sie ein Root-Passwort auf das neue Passwort ‘ newpass ‘ ändern (oder aktualisieren) möchten, müssen Sie den folgenden Befehl verwenden:
mysqladmin -u root -p password newpassGeben Sie das Passwort ein:Wenn Sie…
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'erhalten, folgen Sie den Anweisungen unten, wie Sie Ihr MySQL-Passwort wiederherstellen können.
Das Wort ‘ password ‘ im obigen Beispiel ist Teil des Befehls, ersetzen Sie es nicht durch Ihr Passwort. Das Wort ‘ newpass ‘ ist das neue Passwort.
Eine Alternative zur Verwendung des mysqladmin-Befehls beim ersten Festlegen des MySQL- oder MariaDB-Root-Passworts ist die Verwendung des mysql_secure_installation-Befehls. Dieser Befehl fragt nicht nur nach dem alten und neuen MySQL-Root-Passwort, sondern führt auch einige andere Sicherheitseinstellungen durch, wie das Deaktivieren der Testdatenbank.
So verwenden Sie diesen Befehl:
mysql_secure_installationBeantworten Sie die Fragen wie unten gezeigt:
Ändern Sie das Root-Passwort? [Y/n] <-- y
Neues Passwort: <-- Geben Sie ein neues MySQL-Root-Passwort ein
Neues Passwort erneut eingeben: <-- Wiederholen Sie das MySQL-Root-Passwort
Anonyme Benutzer entfernen? [Y/n] <-- y
Root-Login aus der Ferne verbieten? [Y/n] <-- y
Testdatenbank und Zugriff darauf entfernen? [Y/n] <-- y
Privilegientabellen jetzt neu laden? [Y/n] <-- y Die obigen Antworten sind Empfehlungen, Sie können andere Einstellungen wählen, z. B. wenn Sie die Testdatenbanken behalten oder Remote-Zugriff für den Root-Benutzer benötigen. Hinweis: Sie benötigen keinen Remote-Zugriff, um PHPMyAdmin aus der Ferne zu verwenden.

Ändern Sie das MySQL-Passwort für andere Benutzer
Um das Passwort eines normalen Benutzers zu ändern, müssen Sie Folgendes eingeben:
mysqladmin -u benutzername -p password newpassDie Variablen in diesem Beispiel sind:
- benutzername: Der Benutzername des Benutzers, dessen Passwort Sie ändern möchten.
- newpass: Das neue Passwort
Das Wort ‘password’ ist keine Variable, also ersetzen Sie es nicht. Der Befehl fragt nach dem alten Passwort.
Methode 2 - Passwort aktualisieren oder ändern
MySQL speichert Benutzernamen und Passwörter in der Benutzertabelle innerhalb der MySQL-Datenbank. Sie können ein Passwort direkt mit der folgenden Methode aktualisieren oder ändern:
- Melden Sie sich am MySQL-Server an, geben Sie den folgenden Befehl an der Shell-Eingabeaufforderung ein:
mysql -u root -p- Verwenden Sie die MySQL-Datenbank (geben Sie Befehle an der mysql> Eingabeaufforderung ein):
mysql> use mysql;- Ändern Sie das Passwort für einen Benutzer:
MySQL 5.7.5 und früher
mysql> update user set password=PASSWORD("newpass") where User='BENUTZERNAME-HIER-EINGEBEN';MySQL 5.7.6 und neuer
mysql> SET PASSWORD FOR 'BENUTZERNAME-HIER-EINGEBEN'@'localhost' = PASSWORD("newpass");- Privilegien neu laden:
mysql> flush privileges;
mysql> quitDiese Methode müssen Sie verwenden, während Sie PHP- oder Perl-Skripting verwenden.
Wiederherstellen des verlorenen MySQL-Root-Passworts
Sie können ein Passwort für den MySQL-Datenbankserver mit den folgenden fünf einfachen Schritten wiederherstellen:
Schritt # 1: Stoppen Sie den MySQL-Serverprozess.
Schritt # 2: Starten Sie den MySQL (mysqld) Server/Daemon-Prozess mit der Option –skip-grant-tables, damit er nicht nach einem Passwort fragt.
Schritt # 3: Verbinden Sie sich als Root-Benutzer mit dem MySQL-Server.
Schritt # 4: Setzen Sie ein neues Root-Passwort.
Schritt # 5: Beenden Sie und starten Sie den MySQL-Server neu.
Hier sind die Befehle, die Sie für jeden Schritt eingeben müssen (melden Sie sich als Root-Benutzer an):
Schritt # 1: Stoppen Sie den MySQL-Dienst:
service mysql stopAusgabe:
Stopping MySQL database server: mysqld.Schritt # 2: Starten Sie den MySQL-Server ohne Passwort:
mysqld_safe --skip-grant-tables &Ausgabe:
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: startedSchritt # 3: Verbinden Sie sich mit dem MySQL-Server über den MySQL-Client:
mysql -u rootAusgabe:
Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g.
Ihre MySQL-Verbindungs-ID ist 56299
Serverversion: 5.6.34-1 (Debian)Copyright (c) 2000, 2016, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.Oracle ist ein eingetragenes Warenzeichen von Oracle Corporation und/oder seinen
Tochtergesellschaften. Andere Namen können Warenzeichen ihrer jeweiligen
Eigentümer sein.Geben Sie 'help;' oder '\h' für Hilfe ein. Geben Sie '\c' ein, um die aktuelle Eingabeaufforderung zu löschen.
mysql>Schritt # 4: Setzen Sie ein neues MySQL-Root-Benutzer-Passwort:
MySQL 5.7.5 und früher
mysql> use mysql;
mysql> update user set password=PASSWORD("NEUES-ROOT-PASSWORT") where User='root';
mysql> flush privileges;
mysql> quitMySQL 5.7.6 und neuer
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpass");
mysql> flush privileges;
mysql> quit Schritt # 5: Stoppen Sie den MySQL-Server:
service mysql stopAusgabe:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+ Done mysqld_safe --skip-grant-tablesOder verwenden Sie diesen Befehl, um MySQL zu stoppen, wenn der obige Befehl nicht funktioniert (welcher Befehl funktioniert, hängt von der MySQL-Version ab):
killall mysqldDie Ausgabe kann je nach Linux-Distribution variieren. Machen Sie sich keine Sorgen, es sei denn, es wird ein Fehler gemeldet. Starten Sie den MySQL-Server und testen Sie ihn:
service mysql start
mysql -u root -pErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.