Skip to content. | Skip to navigation

Benutzerspezifische Werkzeuge

 
Sections
Artikelaktionen

Reset MariaDB Rootpasswort auf Ubuntu 18.04

Die üblichen Verfahrensweisen funktionieren ab Ubuntu 18.04 nicht. Es müssen alle folgenden Schritte durchgeführt werden.



1. Die genaue Version muss festgestellt werden.

mysql --version

Die Ausgabe zeigt an, ob MySQL oder MariaDB installiert ist.

2. Der DB Server muss ohne Permission Checks gestartet werden.

Also Systemuser root:

systemctl stop mariadb

oder

systemctl stop mysql

bei MariaDB:

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
systemctl start mariadb
mysql -u root
bei MySQL:
systemctl edit mysql
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
(zweimal ExecStart --> sic!)
systemctl daemon-reload
systemctl start mysql
mysql -u root

3. Root Passwort ändern

FLUSH PRIVILEGES;

bei MariaDB:

UPDATE mysql.user SET password = PASSWORD('new_password') WHERE user = 'root';
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
exit

bei MySQL:

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE user = 'root';
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root';
exit

4. Permission Checks aktivieren

bei MariaDB:

systemctl unset-environment MYSQLD_OPTS
systemctl restart mariadb

bei MySQL:

systemctl revert mysql
systemctl daemon-reload
systemctl restart mysql
mysql -u root -p