MySQL Recuperar la contraseña de root en 5 pasos

36 Comments

Hoy veremos como se puede recuperar y cambiar la contraseña de root del servidor de bases de datos MySQL. Este es un rapido procedimiento el cual funciona en Linux con los siguientes cinco pasos:

MySQL: Pasos para resetear la contraseña de root

1: Detener el proceso del servidor

Antes de iniciar el proceso de recuperacion de la clave de root es necesario bajar todos los servicios de la base de datos:

root@servidor-ubuntu:~# /etc/init.d/mysql stop
* Stopping MySQL database server mysqld	[ OK ]
root@servidor-ubuntu:~#

2: Iniciar el servicio/demonio (mysqld) sin contraseña

Cuando vamos a reiniciar el motor de base de datos utilizamos la opcion –skip-grant-tables asi no nos pedira la contraseña.

root@servidor-ubuntu:~# mysqld_safe --skip-grant-tables &
[1] 10702
root@servidor-ubuntu:~# nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[10741]: started

3: Conectar al servidor MySQL como el usuario root

Ahora que ya hemos realizamo el paso 2, podemos conectarnos al servidor con el usuario root y no tendremos que ingresar la contraseña. Esto es un paso temporal necesario para cambiar la contraseña anterior de root.

root@servidor-ubuntu:~# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.51a-3ubuntu5.4 (Ubuntu)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>

4: Configure la nueva contraseña de root

En este paso ya es posible actualizar la contraseña de root por una nueva:

mysql> use mysql;

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set password=PASSWORD("321") where User='root';
Query OK, 3 rows affected (0.03 sec)
Rows matched: 3  Changed: 3  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

5: Salir y reiniciar el servidor

Ya que hemos cambiado la contraseña, tan solo es necesario salir de la interfaz para utilizar la nueva contraseña de administrador.

mysql> quit
Bye
root@servidor-ubuntu:~# /etc/init.d/mysql stop
* Stopping MySQL database server mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[11414]: ended
[ OK ]
[1]+  Done                    mysqld_safe --skip-grant-tables

6: Reinicio de MySQL

Y eso es todo. En este ultimo paso tan solo nos queda reiniciar el proceso de la base de datos en Linux y nuestra nueva contraseña estara cambiada.

root@servidor-ubuntu:~# /etc/init.d/mysql start
* Starting MySQL database server mysqld	[ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.

root@servidor-ubuntu:~# mysql -u root -p

36 Replies to “MySQL Recuperar la contraseña de root en 5 pasos”

  1. gracias mil,

    estaba por re-instalar de nuevo sql (mucho tiempo) en ubuntu 9.04 , porque perdie el password

    pero con estos pasos de nuevo recupere y cree otro el password

  2. mi estimado a mi me funciono bien pero el detalle es que la contraseña que cambien cuando la ingreso a php me aparece como erronea y no me da acceso a mi manegador de base de datos. si me pudieras ayudar seria de gran apoyo de parte tuya… gracias y nos vemos

  3. Muchas gracias, la explicacion es simple y puntual, no una clase de sql, así deberían ser todos los post.
    Excelente aporte, funciona 100% ok.

  4. Viejo, me salvaste la vida, todo lo hice exactamente como lo pusiste y funcionó, lo único que tuve que agregar fue ‘sudo’ al inicio de los comandos.

    Muchas gracias, de verdad te lo agradezco

  5. Gracias por esta gran ayuda, pero quisiera preguntarle, la nueva contraseña para mysql es 321, y puedo cambiarla cuantas veces quiera, pero ya me a dado bastante gracias, Bernardo!!!

Deja tus preguntas o comentarios