
Cuando por descuido, imprudencia o lo que sea, perdemos o cambiamos y luego no nos acordamos la contraseña de root para MySQL y acabamos tirándonos de los pelos o cosas peores os dejo esta pequeña guía de como recuperar esa preciada contraseña.
- Matar los procesos de MySQL que se estén ejecutando en la máquina. kill mysql mysql-safe
- Creamos un ficherito con el nombre, por ejemplo, de reseteapassmysql y le añadimos las siguientes líneas:
-
UPDATE mysql.user SET Password=PASSWORD('nuevapass') WHERE User=’root’;
- flush privileges;
-
- Cambiamos de la primera línea de antes el nuevapass por la contraseña que queremos
- Ahora solo tenemos que reiniciar MySQL pero en modo seguro y añadiendo el ficherito que acabamos de crear, lo hacemos con esta sentencia:
mysqld_safe –init-file=/rutalalficherito/reseteapassmysql
&
- Una vez que la contraseña se ha cambiado podemos eliminar el ficherito, por si las moscas, y reiniciar MySQL del modo normal:
-
-
rm
/rutalalficherito/reseteapassmysql
-
pkill mysql-safe
-
/etc/init.d/mysql start
-
-
Existe otra forma que es la siguiente,
- Matar los procesos de MySQL que se estén ejecutando en la máquina. kill mysql mysql-safe
- Reiniciamos MySQL en modo seguro con las siguientes opciones,
-
- mysqld_safe –skip-grant-tables –skip-networking
Con -skip-grant-tables no saltamos la comprobación de permisos y con -skip-networking no se permitirán conexiones que no sean desde localhost, vaya a ser que nos entre alguien mientras estamos haciendo estos cambios.
- mysqld_safe –skip-grant-tables –skip-networking
-
- Ahora iniciamos una sesión de MySQL
-
- mysql -u root mysql
-
- Modificamos la contraseña
-
UPDATE mysql.user SET Password=PASSWORD('nuevapass') WHERE User=’root’;
- flush privileges;
-
- Si obtenemos algún error con el comando anterior simplemente hacemos,
-
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@'localhost’ IDENTIFIED BY ‘newpA$$’;
mysql> FLUSH PRIVILEGES;
Y problema resuelto
-
- «Matamos» la sesión segura y reiniciamos normalmente,
-
-
pkill mysql-safe
-
/etc/init.d/mysql start
-
-
Espero que os sirva de algo
Matar los procesos de MySQL que se estén ejecutando en la máquina. kill mysql mysql-safe#mysqld_safe –skip-grant-tables –skip-networking
Una respuesta a «Recuperar contraseña de root en Mysql»