Recuperar contraseña de root en MySQL

Author
Por Darío Rivera
Publicado el en MySQL

A quién no le ha pasado alguna vez que pierde la clave del usuario root en mysql ?, incluso en sistemas de producción!. El día de hoy veremos qué pasos se deben realizar para restaurar la contraseña del usuario con más privilegios de mysql.

Cómo ocurre esto ?

Personalmente, existen dos casos en los cuáles puedes perder el acceso con root a mysql. El primero, tiene que ver con que sencillamente olvidaste la clave, con lo cual pierdes el acceso. El segundo, está relacionado con algún cambio en la base de datos como por ejemplo cuando cambios el plugin o authentication_string de la tabla de usuarios de mysql.

Pasos para recuperar la contraseña

( 1 ) Lo primero que debes hacer es parar el servicio de mysql. En sistemas basados en Debian GNU\Linux bastaría ejecutar lo siguiente:

service apache2 stop

O bien,

systemctl stop apache2

En MacOS deberás ejecutar:

mysql.server stop

( 2 ) El segundo paso será iniciar el servicio de mysql (mysqld) en modo seguro saltándose las verificaciones de autenticación.

mysqld_safe --skip-grant-tables

( 3 )  Con esto ya podemos ingresar sin necesidad de autenticación solamente ejecutando el siguiente comando:

mysql

( 4 ) Finalmente, deberás ejecutar el siguiente comando para dejar sin contraseña el usuario root.

UPDATE mysql.user SET authentication_string=null WHERE User='root';

( 5 ) En este punto, deberás cerrar la sesión e iniciar con root sin contraseña.

mysql -u root

( 6 ) Y cambiar el password por el deseado.

SET PASSWORD = 'auth_string';

Hasta la próxima!. 


Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.