MySQL Server - Root Passwort zurücksetzten

Aus Laub-Home Wiki

Wer kennt das nicht, man setzt ein tolles nicht merkbares, sicheres Passwort und verlegt den Notizzettel oder vergisst es zu dokumentieren. Ist dieser Fall erreicht, kann man das Passwort mittels Shell Zugriff zurücksetzten:
Als erstes den MySQL Server herunterfahren:

/etc/init.d/mysqld stop

Nun den Server mit folgendem Parameter wieder starten:

mysqld_safe --skip-grant-tables &

Nun Passwortlos verbinden:

mysql

und das Passwort resetten (MyNewPass ersetzten!):

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

Nun killen wir den Dienst:

ps ax |grep mysql
31470 pts/1    S      0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
31569 pts/1    Sl     0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --skip-grant-tables --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
kill 31470 31569

und wieder starten:

/etc/init.d/mysqld start

nun sollte man sich wieder einloggen können:

mysql -uroot -p