Enviado por b@cHo en GNU/Linux, InfoSec
Recuperar contraseña root de MySQL

Aveces ya sea por descuido nuestro, o alguna otra razón perdemos la contraseña de acceso para administrar MySQL en esta entrada intentare mostrarles como recuperar esta contraseña en Linux con una cuenta con acceso a root, o equivalentes (sudo).
Primer Metodo
Bien, lo primero que tenemos que hacer matar el proceso de MySQL para esto hacemos lo siguiente:
#pkill mysql #pkill mysql-safe
Claro desde una cuenta con sudo, o con la cuenta de Root.
Ahora vamos a crear un pequeño archivo llamado “resetearmysql”, en la carpeta que gusten, en este caso en /root/, y añadiremos las siguientes lineas:
UPDATE mysql.user SET Password=PASSWORD('nuevapass') WHERE User=’root’;
FLUSH PRIVILEGES;
Aqui cambiamos el campo nuevapass por la nueva contraseña que queramos y guardamos el archivo.
El ultimo paso es reiniciar el servidor en modo seguro. pero incluir el archivo que acabamos de hacer para esto usaremos el parametro –init-file:
#mysqld_safe –init-file=/root/resetearmysql &
Ahora que la contraseña fue cambiada, podremos reiniciar el servidor y borrar nuestro archivo de texto.
#rm /root/resetearmysql #pkill mysql-safe #/etc/init.d/mysql start
Segundo Método
Esta segunda alternativa también necesita acceso a la maquina y permisos de root, al igual que el anterior empezaremos apagando los servidores:
#pkill mysql #pkill mysql-safe
Acto seguido procederemos a reiniciar mysql en modo seguro con las siguientes opciones:
#mysqld_safe –skip-grant-tables –skip-networking
Con la opción -skip-grant-tables nos saltamos la comprobación de permisos, y con -skip -networking bloqueamos las conexiones que entren de un lado diferente a localhost.
Ahora iniciamos sesión como root y colocamos una nueva contraseña
#mysql -u root mysql
y colocamos la nueva contraseña
mysql> UPDATE user SET Password=PASSWORD(’newpA$$’) WHERE User=’root’; mysql> FLUSH PRIVILEGES;
Si sucede algún error en este proceso:
Bastara con agregar de nuevo a root:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@'localhost’ IDENTIFIED BY ‘newpA$$’; mysql> FLUSH PRIVILEGES;
Finalmente reiniciamos el servidor:
#pkill mysql-safe #/etc/init.d/mysql start
Ahora bien recuerden que la mejor solución es no perder la contraseña ;) y para mayor seguridad, cambiarla frecuentemente.
Saludos
Posts Relacionados
- Cargar y recuperar objetos de un ListBox en ZK Hola. En el transcurso de esta semana ire colocando algunas...
- Backups con mysqldump Cuando se trata de administrar un sitio web, casi siempre...
- Instalar nginx con hosts virtuales En esta entrada explicare lo siguiente: Instalar y configurar Nginx...
- Instalar Lighty en Debian Squeeze Ya sea porque tienes pocos recursos de cómputo, porque quieres...


