Puede restablecer la contraseña de root ejecutando el servidor con --skip-grant-tables
e iniciar sesión sin contraseña ejecutando lo siguiente como root (o con 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
Ahora debería poder iniciar sesión como root con su nueva contraseña.
También es posible encontrar la consulta que restableció la contraseña en /home/$USER/.mysql_history
o /root/.mysql_history
del usuario que restableció la contraseña, pero lo anterior siempre funcionará.
Nota:antes de MySQL 5.7, la columna se llamaba password
en lugar de authentication_string
. Reemplace la línea de arriba con
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';