MySQL-Root-Passwort zurücksetzen auf Ubuntu 18.04

Ich konnte letztens nicht widerstehen und wollte auf meinem Laptop Ubuntu 18.04 installiert haben. Übrigens eine ganz gute Gelegenheit ein ganz frisches Linux zu nutzen, denn wer weiß schon, was man in all der Zwischenzeit alles so installiert und konfiguriert hat.
Mit einem ganz frischem Ubuntu kann ich auch genau sagen, welche Pakete man braucht und was man konfigurieren muss, was ungemein hilfreich ist, gute Tutorials zu schreiben.

Als ich etwas mit MySQL Dateien aus meiner alten Installation herum gedoktort habe, hatte ich plötzlich keinen Root-Zugang auf MySQL mehr. Stundenlang habe ich Anleitungen durchforstet und nichts wollte funktionieren. Aus verschiedenen Quellen konnte ich mir dann meine eigene Lösung zusammenstellen, welche ich euch hier vorstellen möchte.

Viele Anleitungen raten dazu den MySQL-Server mit einer Option neu zu starten, die das Passwortabfrage umgeht, das geht natürlich auch, ist in Ubuntu aber nicht nötig.
Manchmal hilft es auch MySQL neu zu installieren, jedoch kommt es, genauso wie bei mir, eben oft vor, dass das nicht ausreicht. Aber nun endlich zu meiner Anleitung.

Ubuntu hat einen weiteren Benutzer namens debian-sys-maint. Dieser ist hauptsächlich dazu angelegt worden um den MySQL-Server zu starten/stoppen und andere Wartungsarbeiten zu erledigen. Mit diesen kann man sich einloggen und das Root-Passwort neu setzten. Dessen Passwort findet man in /etc/mysql/debian.cnf. Zum einloggen gibt man im Terminal folgendes ein:

mysql -u debian-sys-maint -p

Dann noch das Passwort Copy-und-pasten, welches man aus der Konfig-Datei kopiert hat und man befindet sich in der MySQL-Umgebung. Ab hier wird nun SQL gesprochen:

use mysql;
UPDATE user SET authentication_string=PASSWORD("MeinNeuesPasswort") WHERE User='root';

Und bis hier kam ich auch ziemlich früh, nur hat das alles nicht geholfen. Nach langer Suche fand ich heraus, dass noch eine weitere Zeile notwendig ist.

UPDATE user SET plugin="mysql_native_password" WHERE User='root';

Anschließend beendet man die MySQL-Session mit der Tastenkombination Strg+D bzw. dem Befehl quit und startet ggf. den MySQL-Server mit sudo service mysql stop und sudo service mysql stop neu. Anschließend kann man sich wieder als root einloggen.

Schreibe einen Kommentar zu Anonymous Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.