Inhaltsverzeichnis

MariaDB bzw. MySQL Root-Passwort zurücksetzen

Falls man das root-Passwort des SQL-Server vergessen hat, kann diese Anleitung eine Hilfe sein. Wichtig es wird root-Zugriff benötigt.

Version ermitteln

Als erstes muss ermittelt werden um welchen SQL-Server es sich handelt. Hier für genügt der Befehl:

mysql --version

Anhand der Ausgabe kann man erkennen ob man MarinDB oder MySQL einsetzt.

MariaDB

mysql  Ver 15.1 Distrib 10.2.17-MariaDB, for Linux (x86_64) using readline 5.1

MySQL

mysql  Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using  EditLine wrapper

Datenbank stoppen

Nun wird die Datenbank gestoppt, hier nun der entsprechende Befehl.

MariaDB

systemctl stop mariadb

MySQL

systemctl stop mysql

Datenbank ohne Berechtigungsprüfung

Nun wird die Datenbank wieder gestartet und zwar ohne die Berechtigungsprüfung. Hier für wird folgender Befehl benötigt:

mysqld_safe --skip-grant-tables --skip-networking &

Passwort erstellen

Da jetzt der SQL-Server ohne Berechtigungsprüfung läuft, kann man sich einfach mit folgendem Befehl einloggen:

mysql -u root

Nun ist man wieder auf dem SQL-Server und sollte das neue Passwort sofort setzen. Hier für sin folgende Befehle, je nach Version nötig:

MySQL 5.7.6 und neuer oder MariaDB 10.1.20 und neuer

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'neues_Passwort';
quit;

MySQL 5.7.5 und älter oder MariaDB 10.1.20 oder älter

FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('neues_Passwort');
quit;

Normalzustand wieder herstellen

Nun wird der Normalzustand wieder hergestellt. Hier für sind folgende Befehle nötig.

MariaDB

kill `cat /var/run/mariadb/mariadb.pid`
systemctl start mariadb

MySQL

kill `cat /var/run/mysqld/mysqld.pid`
systemctl start mysql