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@centos:~# service mysqld stop * Stopping MySQL database server mysqld [ OK ] root@centos:~#
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@centos:~# mysqld_safe --skip-grant-tables & [1] 10702 root@centos:~# 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@centos:~# 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@centos:~# service mysqld 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@centos:~# service mysqld start * Starting MySQL database server mysqld [ OK ] * Checking for corrupt, not cleanly closed and upgrade needing tables. root@centos:~# mysql -u root -p