mysql root Kennwort neu setzten

Im ersten Schritt wird der aktuell laufende MySQL Server gestoppt:
sudo /etc/init.d/mysql stop

Anschliessend wird sichergestellt das /var/run/mysqld existiert und die richtigen Zugriffsrecht hat:
sudo mkdir /var/run/mysqld
sudo chown mysql /var/run/mysqld

Nun wird MySQL im sicheren Modus und unter umgehung der Kennwörter gestatet:
sudo mysqld_safe –skip-grant-tables&

Einmal Enter drücken damit man wieder an der Shell ist.

Anmeldnung bei MySQL ohne Kennwort mit vollen Rechten:
sudo mysql –user=root mysql

Am SQL Prompt geben wir nun der Reihe nach folgende Befehle ein:
UPDATE mysql.user SET authentication_string=null WHERE User=’root’;
flush privileges;
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘NeuesKennwortHier’;
flush privileges;
exit

Anschliessend wird MySQL neu gestartet:
sudo /etc/init.d/mysql start

Die Anleitung habe ich auf Ubuntu 20.04 Server getestet. Allerdings habe ich den “root” Account freigeschaltet so das ich kein sudo benötige. Interessant finde ich das bei einer mysql Installation nicht mehr nach einem root Kennwort gefragt wird. Bei alten Debian Versionen war es durchaus üblich im Rahmen der apt installation (oder aptitude) nach dem root Kennwort für die Datenbank zu fragen.