Cómo restablecer la contraseña de root de MySQL o MariaDB en Linux


Si está configurando un servidor de base de datos MySQL o MariaDB por primera vez, es probable que esté ejecutando mysql_secure_installation pronto después para implementar la configuración de seguridad básica.

Una de estas configuraciones es la contraseña de la cuenta raíz de la base de datos, que debe mantener en privado y usar solo cuando sea estrictamente necesario. Si olvida la contraseña o necesita restablecerla (por ejemplo, cuando un administrador de base de datos cambia las funciones, ¡o es despedido!).

Este artículo será útil. Explicaremos cómo restablecer o recuperar la contraseña de root de MySQL o MariaDB en Linux.

Aunque usaremos un servidor MariaDB en este artículo, las instrucciones también deberían funcionar para MySQL.

Recuperar MySQL o MariaDB root Password

Para comenzar, detenga el servicio de la base de datos y verifique el estado del servicio, deberíamos ver la variable de entorno que establecimos previamente:

------------- SystemD ------------- 
# systemctl stop mariadb

------------- SysVinit -------------
# /etc/init.d/mysqld stop

A continuación, inicie el servicio con --skip-grant-tables :

------------- SystemD ------------- 
# systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
# systemctl start mariadb
# systemctl status mariadb

------------- SysVinit -------------
# mysqld_safe --skip-grant-tables &

Esto le permitirá conectarse al servidor de la base de datos como root sin una contraseña (puede que necesite cambiar a un terminal diferente para hacerlo):

# mysql -u root

A partir de entonces, siga los pasos que se describen a continuación.

MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

Finalmente, detenga el servicio, desactive la variable de entorno y vuelva a iniciar el servicio:

------------- SystemD ------------- 
# systemctl stop mariadb
# systemctl unset-environment MYSQLD_OPTS
# systemctl start mariadb

------------- SysVinit -------------
# /etc/init.d/mysql stop
# /etc/init.d/mysql start

Esto hará que los cambios anteriores surtan efecto, lo que le permitirá conectarse al servidor de la base de datos con la nueva contraseña.

En este artículo hemos discutido cómo restablecer la contraseña de root de MariaDB/MySQL. Como siempre, no dude en utilizar el formulario de comentarios a continuación para enviarnos una nota si tiene alguna pregunta o comentario. ¡Esperamos con interés escuchar de usted!