Recuperar Acceso de Root a MySQL

27 Mar

Es muy común olvidar la contraseña de acceso a algún sistema, a veces se hace tan segura que finalmente ni nosotros mismos podemos ingresar.

En el caso de MySQL sobre Linux, afortunadamente es sencillo resetear la contraseña, ingresamos a una terminal, detenemos el servicio y lo levantamos nuevamente en modo seguro:

Ubuntu   
sudo stop mysql
sudo mysqld_safe --skip-grant-tables

 

Fedora   
sudo service mysqld stop
sudo mysqld_safe --skip-grant-tables

Ingresamos a una terminal e ingresamos a MySQL:

null   
mysql -u root

Cuando obtenemos el prompt de MySQL escribimos:

null   
USE mysql
UPDATE user SET Password=PASSWORD('nueva_contraseña') WHERE user='root';
FLUSH PRIVILEGES;

Ahora vamos a la terminal donde se dejó corriendo MySQL y lo detenemos con CTRL + C, si no funciona ve a otra terminal y escribe:

null   
sudo ps auxf | grep mysqld_safe

Busca en la salida el PID del comando que se ejecutó para iniciar MySQL en modo seguro y envíale una señal para acabar el proceso. Si por ejemplo obtuviste PID 20909 se debe escribir:

null   
sudo kill -9 20909

Ahora solo es necesario iniciar MySQL como normalmente se hace y ya podremos ingresar.

Ubuntu   
sudo start mysql
mysql -u root -p

 

Fedora   
sudo service mysqld start
mysql -u root -p

Cuando nos pregunte la contraseña colocaremos lo que hayamos ingresado en lugar de nueva_contraseña.

Acerca del autor

Christian Gutierrez ha escrito 22 publicaciones en este blog.

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why. – Anonymous Developer

2 Comentarios a “Recuperar Acceso de Root a MySQL”