Recuperar contraseña de root en MySQL |
martes, 18 de julio de 2006 | |
Ya sea por un descuido propio o por causas ajenas a nuestra voluntad, puede ocurrir que la contraseña de root para acceder al entorno de MySQL ya no esté en nuestro poder. En este corto documento aprenderemos a restaurar dicha contraseña desde un entorno con linux para evitar la temida reinstalación y la posible pérdida de datos. Entrando en modo seguro La recuperación de la contraseña ha de ser llevada a cabo desde el mismo sistema en que está corriendo el demonio mysqld. Así, el primer paso a realizar será terminar con la ejecución de dicho demonio mediante el siguiente comando: # /etc/init.d/mysqld stop Y nos aseguraremos de que no queda ningún servicio relacionado con MySQL en ejecución: # ps -x |grep mysql Si quedara algo en ejecución, lo eliminaríamos mediante el comando kill y el número de PID. Seguidamente volveremos a ejecutar el demonio, pero en modo seguro. Dependiendo del sistema utilizado, la dirección y el nombre del ejecutable podría variar, aunque habitualmente suele encontrase en la ruta /usr/bin/mysqld_safe o /usr/bin/safe_mysqld. Ejecutaremos por tanto dicho comando del modo siguiente: # /usr/bin/mysqld_safe --skip-grant-tables --user=root & Restableciendo la contraseña Una vez ejecutado el demonio en modo seguro, accederemos a la consola de comandos de MySQL: # mysql -u root Y una vez dentro de la consola ejecutaremos el siguiente código, que se encargará de establecer una nueva contraseña: mysql> UPDATE mysql.user SET Password=PASSWORD('contraseña')-> WHERE User='root'; Query OK, 2 Rows affected (0.01 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> FLUSH PRIVILEGES; Query OK, 0 Rows affected (0.01 sec) Cambiaremos la palabra contraseña por la contraseña elegida. Abandonaremos la consola mediante el comando quit y reiniciaremos el demonio de mysqld de la forma habitual, por ejemplo: # /etc/init.d/mysqld restart Y ya deberíamos poder entrar a la consola con la nueva contraseña. Automatizando la tarea Llegados a este punto, tal vez nos interese automatizar la tarea de cambio de contraseña de root por el motivo que sea. Para ello, podemos escribir un sencillo script en bash que nos automatizará la tarea de un modo muy simple. Veamos un ejemplo: #!/bin/bash Tomado de http://www.liberaliatempus.com/articulos/mysql/recuperar-contrasena-de-root-en-mysql.html |
Comentarios
Publicar un comentario
Debes estar registrado en el blog para poder enviar tus comentarios.