Recuperando la contraseña de root en MySQL

Recuperando el password de
root en MySQL.

Autor : Camilo Ernesto Murcia
Sitio Web : PlazaLinux.com
Correo : kmilo@plazalinux.com

Documento
publicado bajo licencia GPL 1.0, 1.2

Este documento trata de explicar como recuperar el password del usuario root de MySQL cuando por algun motivo este se nos ha olvidado o se nos ha perdido.

Recordemos que el usuario root dentro de MySQL es el usuario que tiene todos los privilegios para poder crear, borrar, editar objetos en MySQL, que pueden ser tablas, indices, bases, etc.

Entrar como usuario root en tu Linux.

Esto se puede hacer directamente en la consola, o cambiandose a usuario root utilizando sudo asi :

kmilo@cmurcia:~>su - 

digitamos el password de root correctamente y luego ya estaremos como root en nuestra linux box.

cmurcia:~ # 

Bajar servicios de MySQL

Baja los servicios de MySQL en tu servidor, dependiendo de tu distribucion utiliza:

rcmysql stop (en suse)
cmurcia:~ # rcmysql stop
service mysqld stop (en redhat, mandrake, otros)

o mata el servicio con kill -9 asi : kill -9 PID (donde PID) es el numero de proceso de tu MySQL daemon.

Iniciando MySQL

Ahora inicia MySQL con el comando :

#safe_mysqld --skip-grant-tables --skip-networking --user=mysql &

Ahora ya tienes tu servidor MySQL corriendo sin password, por lo que puedes entrar con el comando :

#mysql -u root mysql

Luego en el mysql monitor ejecutas:

mysql> UPDATE user SET Password=PASSWORD('tunuevopass') WHERE User='root';

luego ejecutamos :

mysql> flush privileges ;
mysql>exit


Ahora detiene el servicio de MySQL una vez mas, y vuelve a iniciar el servicio de MySQL, tu servidor MySQL debería de dejarte entrar como usuario root utilizando el nuevo password que especificaste.

cmurcia:~ # rcmysql start

* Este procedimiento se ha realizado utilizando MySQL 4.x , creo que en MySQL 5.0 deberia de funcionar también.