Heslo uživatele root můžete resetovat spuštěním serveru pomocí --skip-grant-tables
a přihlášení bez hesla spuštěním následujícího příkazu jako root (nebo pomocí 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
Nyní byste měli být schopni se přihlásit jako root se svým novým heslem.
Je také možné najít dotaz, který resetoval heslo v /home/$USER/.mysql_history
nebo /root/.mysql_history
uživatele, který resetoval heslo, ale výše uvedené bude vždy fungovat.
Poznámka:před MySQL 5.7 se sloupec nazýval password
místo authentication_string
. Nahraďte řádek výše výrazem
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';