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 newpass

Wenn 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 newpass
Geben 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_installation

Beantworten 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.

Verwenden Sie mysql_secure_installation, um das MySQL-Root-Passwort zu ändern

Ä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 newpass

Die 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:

  1. Melden Sie sich am MySQL-Server an, geben Sie den folgenden Befehl an der Shell-Eingabeaufforderung ein:
mysql -u root -p
  1. Verwenden Sie die MySQL-Datenbank (geben Sie Befehle an der mysql> Eingabeaufforderung ein):
mysql> use mysql;
  1. Ä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");
  1. Privilegien neu laden:
mysql> flush privileges;  
mysql> quit

Diese 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 stop

Ausgabe:

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]: started

Schritt # 3: Verbinden Sie sich mit dem MySQL-Server über den MySQL-Client:

mysql -u root

Ausgabe:

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> quit

MySQL 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 stop

Ausgabe:

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-tables

Oder 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 mysqld

Die 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 -p
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.