Falls man das root-Passwort des SQL-Server vergessen hat, kann diese Anleitung eine Hilfe sein. Wichtig es wird root-Zugriff benötigt.
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.
mysql Ver 15.1 Distrib 10.2.17-MariaDB, for Linux (x86_64) using readline 5.1
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper
Nun wird die Datenbank gestoppt, hier nun der entsprechende Befehl.
systemctl stop mariadb
systemctl stop mysql
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 &
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:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'neues_Passwort'; quit;
FLUSH PRIVILEGES; SET PASSWORD FOR 'root'@'localhost' = PASSWORD('neues_Passwort'); quit;
Nun wird der Normalzustand wieder hergestellt. Hier für sind folgende Befehle nötig.
kill `cat /var/run/mariadb/mariadb.pid` systemctl start mariadb
kill `cat /var/run/mysqld/mysqld.pid` systemctl start mysql