Hvordan tilbakestille MySQL eller MariaDB Root Password i Linux


Hvis du setter opp en MySQL- eller MariaDB-databaseserver for første gang, er sjansen stor for at du vil kjøre mysql_secure_installation like etterpå for å implementere grunnleggende sikkerhetsinnstillinger.

En av disse innstillingene er passordet for databaserotkontoen – som du må holde privat og kun bruke når det er strengt nødvendig. Hvis du glemmer passordet eller trenger å tilbakestille det (for eksempel når en databaseadministrator bytter roller – eller blir permittert!).

Foreslått lesing: Endre MySQL- eller MariaDB-rotpassord

Denne artikkelen vil komme godt med. Vi vil forklare hvordan du tilbakestiller eller gjenoppretter glemt MySQL- eller MariaDB-rotpassord i Linux.

Selv om vi vil bruke en MariaDB-server i denne artikkelen, bør instruksjonene også fungere for MySQL.

Gjenopprett MySQL eller MariaDB root-passord

For å begynne, stopp databasetjenesten og sjekk tjenestestatusen, vi bør se miljøvariabelen vi satte tidligere:


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

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

Deretter starter du tjenesten med --skip-grant-tables:


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

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

Dette lar deg koble til databaseserveren som root uten passord (du må kanskje bytte til en annen terminal for å gjøre det):


mysql -u root

Fra da av følger du trinnene som er skissert nedenfor.


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

Til slutt, stopp tjenesten, deaktiver miljøvariabelen og start tjenesten igjen:


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

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

Dette vil føre til at de tidligere endringene trer i kraft, slik at du kan koble til databaseserveren med det nye passordet.

Sammendrag

I denne artikkelen har vi diskutert hvordan du tilbakestiller MariaDB/MySQL root-passordet. Som alltid, bruk gjerne kommentarskjemaet nedenfor for å sende oss en melding hvis du har spørsmål eller tilbakemeldinger. Vi ser frem til å høre fra deg!