ByteInSpace!

Software development with passion

Menu
  • Sample Page
Menu

MySQL Passwort zurückstellen

Posted on April 2, 2020 by Daniel

Wer kennt das nicht: man holt eine Kiste (in meinem Fall eine Azure-VM) aus der Versenkung und möchte sich auf dem dort installierten MySQL-Datenbankserver einloggen. Als Root natürlich.

Erstes Standardpasswort (geben wir, die meisten nutzen de facto nur ein paar Standardpasswörter überall) geht nicht. Zweites auch nicht. Mist, was habe ich denn damals für ein Passwort vergeben? Aufzeichnungen gibt es natürlich keine, war nur eine kurze Testinstallation, die braucht man nicht aufschreiben…

Keine andere Wahl, man muss das Root-Passwort zurücksetzen. Nur wie?

Natürlich geht es nicht ganz einfach. Sonst würde jeder es können. Man braucht auf jeden Fall einen SSH Zugang auf die Maschine und sudo Berechtigung (meine betreffende Maschine läuft unter Ubuntu) oder einen root User (bei anderen Linuxen)

Zunächst einmal stoppen wir den laufenden Server:

sudo /etc/init.d/mysql stop

Für den abgesicherten Start brauchen wir ein Verzeichnis, wo MySQL schreiben kann:

sudo mkdir /var/run/mysqld
sudo chown mysql /var/run/mysql

Jetzt kann MySQL in einem abgesicherten Modus gestartet werden. Unbedingt auf das & Zeichen achten, damit man die Konsole wieder zurückbekommt.

sudo mysqld_safe --skip-grant-tables &

Dadurch bekommen wir eine MySQL Instanz, in welche man sich lokal ohne Passwort einloggen kann. Diese Instanz soll natürlich nur zum Passwortreset benutzt werden!

sudo mysql -u root
USE mysql;

Um das Passwort zurück zu setzen überschreiben wir es durch ein neues und nutzen die MySQL-Funktionalität PASSWORD dazu, um es gleich zu kodieren:

UPDATE user SET authentication_string=PASSWORD("neuespasswort")  WHERE User='root';
FLUSH PRIVILEGES;
exit;

Bitte unbedingt darauf achten, dass MySQL mittlerweile case sensitiv ist! Das war früher nicht so, wie so mancher Webdesigner schon mal mit einem Update des Servers schmerzhaft festgestellt hatte. “NeuesPasswort” ist also nicht gleich “neuespasswort”!

Jetzt bleibt nur noch, den Safe-MySQL zu stoppen und den regulären zu starten:

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

Nicht vergessen, das neue Passwort zu merken!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Mounten von Shares einer NAS unter Linux
  • Heimnetzwerksetup mit Ansible II: MariaDB
  • Heimnetzwerksetup mit Ansible mit Ansible I
  • Neuzugang: Schneider PC 1512 DD
  • Java und Wege der Filterung

Recent Comments

    Archives

    • October 2021
    • July 2021
    • March 2021
    • June 2020
    • April 2020
    • March 2020
    • January 2020
    • December 2019
    • May 2019
    • April 2019

    Categories

    • Database
    • Development
    • Java
    • Linux
    • PC
    • Reparatur
    • Retrocomputing
    • Schneider
    • Uncategorized
    ©2023 ByteInSpace! | Built using WordPress and Responsive Blogily theme by Superb