Du kan återställa root-lösenordet genom att köra servern med --skip-grant-tables
och logga in utan lösenord genom att köra följande som root (eller med 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
Nu ska du kunna logga in som root med ditt nya lösenord.
Det är också möjligt att hitta frågan som återställer lösenordet i /home/$USER/.mysql_history
eller /root/.mysql_history
av användaren som återställer lösenordet, men ovanstående kommer alltid att fungera.
Obs:före MySQL 5.7 kallades kolumnen password
istället för authentication_string
. Ersätt raden ovan med
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';