MySQL Root-Passwort zurücksetzen

oder in 4 Schritten zu einem neuen Passwort:

  1. MySQL beenden

    /etc/init.d/mysql stop

  2. MySQL mit deaktivierter Passwort-Überprüfung und ohne Netzwerkunterstützung starten

    mysqld –user=mysql –pid-file=/var/lib/mysql/mysqld.pid \
    –socket=/var/lib/mysql/mysql.sock –datadir=/var/lib/mysql \
    –skip-grant-tables –skip-networking

  3. Das Root-Passwort neu setzen

    mysqladmin -u root password "mynewpassword"

  4. MySQL beenden und neu starten

    kill `cat /var/lib/mysql/mysqld.pid`
    /etc/init.d/mysql start

Update:
Von Isotopp gab´s ne nette Anregung wie man das Obige noch optimieren kann -> siehe Kommentare

2 thoughts on “MySQL Root-Passwort zurücksetzen

  1. In Schritt 2 würde ich stattdessen in der Sektion [mysqld] in der my.cnf „skip-grant-tables“ eintragen und dann „/etc/init.d/mysql start“ machen. Das stellt sicher, daß der mysql Server auf die korrekte Weise und mit den korrekten Optionen gestartet wird.

    In Deinem Beispiel gibst Du so Optionen und User an, die so auf dem System des Menschen mit dem Problem nicht vorliegen müssen.

    In Schritt 3 hinterläßt Du nun das neue Paßwort in der History der Shell. Das ist unschön. „unset HISTSIZE HISTFILESIZE“ sind das mindeste (eine Bash speichert dann die History der Session nicht in $HOME/.bash_history ab, sondern vergißt sie).

    In Schritt 3b wäre das „skip-grant-tables“ dann wieder zu entfernen („rcmysql stop; vi /etc/my.cnf; rcmysql start“).

    Das „kill“ in Schritt 4 wäre auf jeden Fall besser ein mysqladmin shutdown, aber mit Änderungen in my.cnf kann man in jedem Fall das übliche Startstop-Script verwenden.

Comments are closed.