Recuperar contraseña de root en MySQL

Author
By Darío Rivera
Posted on 2019-09-29 in MySQL
Tags   MySQL 8

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!. 


Si te ha gustado este artículo puedes invitarme a tomar una taza de café

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

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