Me dejo anotado esto, que nunca se sabe. Mejor no tener que utilizarlo nunca.
# /etc/init.d/mysql stop
# /usr/bin/mysqld_safe --skip-grant-tables &
# mysql -u root
NOTA: un día intente ejecutar este paso, y me daba problemas al utilizar el &. Quité el & y abrí otra terminal para seguir con la operación.
Accedemos dentro de la consola como root y ahora actualizamos el password
# Welcome to the MySQL monitor. Commands end with ; or \g.
# Your MySQL connection id is 24
# Server version: 5.0.48 Source distribution
# Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
# mysql> use mysql;
# mysql> update user set password=PASSWORD("nuestroNUEVOpassword")
where User='root';
# mysql> flush privileges;
# mysql> quit
Paramos e iniciamos el servicio y nos logueamos ya con el nuevo password.
# /etc/init.d/mysqld stop
STOPPING server from pid file /var/run/mysqld/mysqld.pid
080819 15:34:49 mysqld ended
# /etc/init.d/mysqld start
UPDATE: para el último MySQL 5.7 este método no sirve ya que el campo password de la
tabla user ya no existe.
Podemos adaptar la query para ejecutar algo tipo:
# UPDATE user SET authentication_string=PASSWORD("mypassword") WHERE user='root@localhost';
http://stackoverflow.com/questions/32208000/update-user-password-in-mysql-5-7