Możesz zresetować hasło roota, uruchamiając serwer z --skip-grant-tables
i logując się bez hasła, uruchamiając jako root (lub z sudo):
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
Teraz powinieneś być w stanie zalogować się jako root przy użyciu nowego hasła.
Możliwe jest również znalezienie zapytania resetującego hasło w /home/$USER/.mysql_history
lub /root/.mysql_history
użytkownika, który zresetował hasło, ale powyższe zawsze będzie działać.
Uwaga:przed MySQL 5.7 kolumna nazywała się password
zamiast authentication_string
. Zastąp powyższą linię przez
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';