Perdida contraseña root de MYSQL - Chuda
15777
post-template-default,single,single-post,postid-15777,single-format-standard,bridge-core-3.1.2,qode-page-transition-enabled,ajax_fade,page_not_loaded,,qode-child-theme-ver-1.0.0,qode-theme-ver-30.1,qode-theme-bridge,disabled_footer_top,qode_header_in_grid,wpb-js-composer js-comp-ver-7.9,vc_responsive

Perdida contraseña root de MYSQL

Perdida contraseña root de MYSQL

Esto es un pequeño tutorial de como recuperar el password de root en MySQL, si nos puede pasar aunque no debería que olvidamos el password de root de nuestra base de datos y no lo tenemos documentado.

Bueno aquí trato de explicar como recuperar el password, realizado en ubuntu 22.04.5 LTS (Jammy Jellyfish).

Primero debemos detener el servicio de MySQL.

sudo systemctl stop mysql.service

Debemos luego crear un directorio para el archivo que usara el proceso MySQL esto en /var/run y darle permisos sobre este al usuario y grupo mysql.

Verificamos con el comando:

ps axo user,pid,comm | grep mysql

mysql       1065 mysqld

Creamos el archivo y le asignamos los permisos.

mkdir -p /var/run/mysqld 
chown mysql:mysql /var/run/mysqld

Ahora arrancamos MySQL con los parámetros --skip-grant-tables y --skip-networking. El ‘&’ al final es necesario.

/usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 6581

El parámetro --skip-grant-tables permite a cualquiera conectarse sin contraseña y con todos los privilegios. Como es un proceso peligroso mientras dura le añadimos el parámetro --skip-networking , lo que des-habilita la posibilidad de conexiones remotas al servidor MySQL mientras cambiamos el password.

Una vez puesto en marcha el proceso, bastará con ejecutar los siguientes comando. He quitado el texto informativo que va apareciendo al ejecutar alguno de dichos comando para claridad del texto:

mysql -u root

mysql> FLUSH PRIVILEGES;

Nos cambiamos a la base de datos mysql.

mysql> USE mysql;
Database changed

Ahora des-habilitamos el password de root de MySQL.

mysql> UPDATE mysql.user SET authentication_string=null WHERE User='root';

Y luego creamos un nuevo password y recargamos los privilegios.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Pssword-seguro-aqui';
mysql> FLUSH PRIVILEGES;
mysql> exit
Bye

Luego se mata el procedo de MySQL que se arranco.

pkill mysqld

Y se levanta el servicio.

sudo systemctl start mysql.service

……

Espero esto les sirva como a mi.

Happy Hacking! 

 

Fuentes:
https://mytcpip.com/perdida-password-root-mysql/
https://dev.to/asifzcpe/resetting-mysql-root-password-in-ubuntu-a-step-by-step-guide-3gnd
https://es.stackoverflow.com/questions/339720/mysql-error-al-actualizar-la-contrase%C3%B1a
https://stackoverflow.com/questions/33467337/reset-mysql-root-password-using-alter-user-statement-after-install-on-mac
https://askubuntu.com/questions/1487925/unable-to-set-password-in-mysql-installation