Skip to main content

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

1. systemctl stop mariadb
### MySQL
1. 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:

1. 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:

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

1. FLUSH PRIVILEGES; 2. ALTER USER 'root'@'localhost' IDENTIFIED BY 'neues\_Passwort'; 3. quit;
### MySQL 5.7.5 und älter oder MariaDB 10.1.20 oder älter
1. FLUSH PRIVILEGES; 2. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('neues\_Passwort'); 3. quit;
## Normalzustand wieder herstellen

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

MariaDB

1. kill `cat /var/run/mariadb/mariadb.pid` 2. systemctl start mariadb
### MySQL
1. kill `cat /var/run/mysqld/mysqld.pid` 2. systemctl start mysql