Este método funciona solo si tienes permisos de administrador en el sistema.
Ya que MySQL guarda en una tabla la información de los usuarios, es posible actualizar y así recuperar las contraseñas de las cuentas de usuarios que hayamos olvidado, entre ellas la del super administrador (root).
Para el ejemplo supondremos que los comandos se ejecutan sobre una distro de Ubuntu 18.04, pero el procedimiento es el mismo en otras versiones, solo basta con utilizar los comandos equivalentes.
Detenemos el servicio:
$ sudo systemctl stop mysql.service
Iniciamos el servicio en modo seguro sin contraseña:
$ sudo mysqld_safe --skip-grant-tables &
Una vez iniciado el servicio, nos logueamos como root sin contraseña:
$ sudo mysql -u root
Para versiones de MySQL 5.7.5 y anteriores:
mysql> use mysql;
mysql> update user set password=PASSWORD("NUEVACONTRASEÑA") where User='root';
mysql> flush privileges;
mysql> quit
Para versiones de MySQL 5.7.6 y superiores:
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpass");
mysql> flush privileges;
mysql> quit
Detenemos nuevamente el servicio y lo iniciamos:
$ sudo systemctl stop mysql.service
$ sudo systemctl start mysql.service
Ya podemos loguearnos con la contraseña asignada:
$ sudo mysql -u root -p
No hay comentarios:
Publicar un comentario