
He tenido que enfrentarme a varias pruebas entre ellas recuperar la contraseña del usuario root de mysql. En esta entrada quiero mostrarles cómo recuperar la contraseña de root de MySQL desde un terminal.
Debemos detener el servicio MySQL como usuario administrador:
service mysql stop
Luego que se detuvo el servicio, vamos a iniciarlo pero de forma diferente para que no nos pida contraseña:
mysqld_safe --skip-grant-tables &
Ahora accedemos a la terminal de MySQL con el siguiente comando:
mysql -u root
Ahora seleccionamos la base de datos de MySQL:
use mysql;
Y luego, cambiamos la contraseña:
update user set password=PASSWORD("MiContraseña") where user='root';
Refresquemos los privilegios:
flush privileges; quit
Luego detemos el servicio y lo volvemos a iniciar:
service mysql stop service mysql start
Para la version 6.0 de MySQL se puede recuperar de la siguiente forma:
Debemos detener el servidor MySQL:
service mysqld stop
Tambien podemos matar el proceso mysqld enviando un comando kill (no kill -9). Utilice el nombre de la ruta real del archivo .pid en el siguiente comando:
kill `cat /mysql-data-directory/host_name.pid`
Utilice comillas sencillas (no hacia adelante comillas) con el comando cat. Esto provoca que la salida de cat sea sustituida en el comando kill.
Crear un archivo de texto que contiene la siguiente declaración en una sola línea. Vuelva a colocar la contraseña con la contraseña que desea utilizar.
cat /tmp/mysql-init > SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MiContraseña');
Iniciar el servidor SQL con la opción especial -init-file
mysqld_safe --init-file=/tmp/mysql-init &
Después de que el servidor se ha iniciado correctamente y hemos comprobado la constraña eliminamos el archivo mysql-init.
rm /tmp/mysql-init
Estas son las dos formas de recuperar la contraseña según tu versión de MySQL