Zapomniane hasło do MySQL

Czasami zdarzają się sytuacje kiedy zapominamy hasło do MySQL dla użytkownika root. Aby odzyskać hasło musimy zatrzymać działanie MySQL:

/etc/init.d/mysql stop

W nowszych dystrybucjach będzie to:

systemctl stop mysqld.service

Na chwile obecną możemy pominąć .service i dać samo systemstl stop mysqld. Uruchamiamy ponownie serwer bez uprawnień użytkownika:

safe_mysqld –skip-grant-tables &

I logujemy się na konto root bez hasła:

mysql -u root

Następnie w konsoli MySQL wpisujemy:

mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD(’nowehaslo’) WHERE User=”root” AND Host=”localhost”;

mysql> FLUSH PRIVILEGES;
mysql> quit

Na koniec wystarczy zrestartować serwer:

/etc/init.d mysql restart

Lub:

systemctl restart mysqld.service