MariaDB Passwort vergessen, keine Panik? Bei einem vergessenen root-Passwort für MariaDB oder MySQL kann man dies ohne Probleme zurücksetzen. Voraussetzung dafür ist ein root-Zugang auf die Konsole des Servers. Das nachfolgende Tutorial beschreibt den Weg für einen MariaDB-Server unter CentOS 7. Der Lösungsweg ist aber ohne Probleme auch bei anderen Distributionen und bei MySQL-Server anwendbar.
Zuerst müssen wir unseren MariaDB-Server beenden.
systemctl stop mariadb.service
MariaDB – root Passwort zurücksetzen
Anschliessend starten wir den MariaDB-Server ohne Beschränkungen und Rechtemanagend.
mysqld_safe --skip-grant-tables --skip-networking & [1] 12194 150414 10:42:02 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. 150414 10:42:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Die Option –skip-grant-tables startet den Server ohne Restriktionen. Sinnvollerweise starten wie den Datenbank-Server nun auch in Kombination mit der Option –skip-networking um einen Zugang von Extern zu verbieten, dieser wäre sonst ohne Passwort möglich.
Nachdem dem MariaDB nun wieder läuft können wir ganz einfach ohne root-Passwort zum Datenbankserver verbinden und das Passwort neu setzen.
mysql -u root mysql> use mysql; mysql> update user set password=PASSWORD("neuespasswort") where User='root'; mysql> flush privileges; mysql> exit
Nachdem das Passwort für den User Root nun geändert wurde stoppen wir den Datenbankserver.
mysqladmin shutdown 150414 10:44:33 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended [1]+ Fertig mysqld_safe --skip-grant-tables --skip-networking
Anschliessend starten wir den Dienst neu.
systemctl start mariadb.service
Nun können wir mit dem neu vergebenen Passwort zum MariaDB-Server verbinden.
mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 5.5.41-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Wenn man nun das Passwort für den root-User im „normalen“ Betrieb ändern möchte kann man dies wie folgt erledigen:
mysqladmin -u root -p 'altes-password' password 'neues-password'
Für weitere Informationen lohnt ein Blick in die Dokumentation von MariaDB.