Pruebe el comando FLUSH PRIVILEGES
cuando inicia sesión en la terminal de MySQL. Si eso no funciona, pruebe el siguiente conjunto de comandos mientras está en la terminal de MySQL
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
Cambie NEWPASSWORD por la contraseña que desee. ¡Debería estar todo listo!
Actualizar :A partir de MySQL 5.7, la password
el campo ha sido renombrado authentication_string
. Al cambiar la contraseña, utilice la siguiente consulta para cambiar la contraseña. Todos los demás comandos siguen siendo los mismos:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
Actualizar :El 8.0.15 (tal vez ya antes de esa versión) la función PASSWORD() no funciona, como se menciona en los comentarios a continuación. Tienes que usar:
UPDATE mysql.user SET authentication_string='password' WHERE User='root';