Com restablir la contrasenya arrel MySQL o MariaDB a Linux


Si esteu configurant un servidor de bases de dades MySQL o MariaDB per primera vegada, és probable que executeu mysql_secure_installation poc després per implementar la configuració bàsica de seguretat.

Una d'aquestes configuracions és la contrasenya per al compte d'arrel de la base de dades, que heu de mantenir privada i utilitzar només quan sigui estrictament necessari. Si oblideu la contrasenya o necessiteu restablir-la (per exemple, quan un administrador de la base de dades canvia de rol o és acomiadat!).

Aquest article serà útil. Explicarem com restablir o recuperar la contrasenya d'arrel de MySQL o MariaDB oblidada a Linux.

Tot i que utilitzarem un servidor MariaDB en aquest article, les instruccions també haurien de funcionar per a MySQL.

Recupereu la contrasenya root de MySQL o MariaDB

Per començar, aturar el servei de base de dades i comprovar l'estat del servei, hauríem de veure la variable d'entorn que hem establert anteriorment:

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

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

A continuació, inicieu el servei amb --skip-grant-tables:

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

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

Això us permetrà connectar-vos al servidor de bases de dades com a root sense contrasenya (pot ser que hàgiu de canviar a un terminal diferent per fer-ho):

# mysql -u root

A partir d'aleshores, seguiu els passos que es descriuen a continuació.

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

Finalment, atureu el servei, desactiveu la variable d'entorn i torneu a iniciar el servei:

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

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

Això farà que els canvis anteriors tinguin efecte, cosa que us permetrà connectar-vos al servidor de bases de dades mitjançant la nova contrasenya.

En aquest article hem parlat de com restablir la contrasenya arrel MariaDB/MySQL. Com sempre, no dubteu a utilitzar el formulari de comentaris a continuació per enviar-nos una nota si teniu cap pregunta o comentari. Esperem amb interès tenir notícies teves!