Zum Inhalt springen

FAQ

Wie setze ich das MySQL root Passwort zurück?

Falls Sie das MySQL root Passwort vergessen haben, so können Sie dies nur wieder herstellen, wenn Sie über die SSH Konsole Zugriff auf den MySQL Dienst selbst haben. Dies ist bei unseren Managed-Root Servern kein Problem, da Sie hier einen eigenen MySQL Server haben und Zugriff als Systembenutzer root auf die Konsole.

In der folgenden Anleitung zeigen wir, wie Sie das Passwort des MySQL root Benutzers auf ein komplett neues Passwort setzen können.

Erstellen einer Passwortdatei

Letztendlich sorgen wir dafür, dass bei einem manuellen Neustart des MySQL Servers ein Kommando ausgeführt wird, dass das root Passwort neu setzt. Hierzu erstellen wir je nach Version des MySQL Servers eine Datei mit folgendem Inhalt. Dies können Sie z.B. mit pico oder vi auf der SSH Konsole machen. In unserem Beispiel nennen wir die Datei '/tmp/mysqlroot':

Bei MySQL 5.7.6 und größer:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NeuesPasswort';

Bei MySQL 5.7.5 und kleiner:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NeuesPasswort');

Einlesen der Passwortdatei

Die Aktivierung des neuen Passwortes geschieht über das Einlesen der oben erstellten Datei in einem manuellen Neustart, der ein sog. 'init-file' benutzt. Das Kommando in diesem init-file wird direkt beim Start ausgeführt, ohne dass man das alte root Passwort kennen muss. Dafür genügen die Rechte den MySQL-Server selbst auf der Konsole zu stoppen und zu starten. Dies dürfen für gewöhnlich nur privilegierte Benutzer des Systems.

Zuerst stoppen wir den MySQL Server über dieses Kommando auf der SSH Konsole:

sudo service mysql-server stop

Damit unser Monitorsystem nicht 'denkt' es handelt sich um einen Absturz des MySQL-Servers und diesen automatisch wieder neu startet, müssen Sie das folgende Kommando sofort nach dem obigen ausführen. Auch wenn es hier evtl. als mehrzeiliger Text angezeigt wird, ist alles in einer Zeile zu schreiben:

sudo -u mysql /usr/iports/libexec/mysqld --basedir=/usr/iports --datadir=/var/db/mysql --init-file=/tmp/mysql &

Sauberer Neustart des MySQL Servers

Damit wird der MySQL Server bereits wieder ausgeführt, aber evtl. nicht mit den korrekten Settings, wie bei einem 'normalen' Start. Deshalb müssen wir jetzt noch einmal folgendes Kommando auf der SSK Konsole ausführen:

sudo service mysql-server restart

Aufräumen

Wie im 'richtigen Leben' sollten wir auch hier noch aufräumen. Denn noch liegt eine Datei im lesbaren /tmp Order des Systems. Je nach Konfiguration können hier auch PHP Scripte etc. zugreifen, was natürlich nicht auf eine Datei mit solchem Inhalt gewünscht ist. Also noch ein letztes Kommando auf der SSH Konsole:

rm -f /tmp/mysqlroot

Damit ist die gesamte Arbeit abgeschlossen und Sie können ab sofort wieder mit dem root Benutzer auf die Datenbanken zugreifen.


Zurück

Sie brauchen Hilfe?

0421 4089-000