Sådan nulstilles MySQL eller MariaDB rodadgangskode i Linux


Hvis du opretter en MySQL- eller MariaDB-databaseserver for første gang, er chancerne for, at du kører mysql_secure_installation kort tid derefter for at implementere grundlæggende sikkerhedsindstillinger.

En af disse indstillinger er adgangskoden til databasens rodkonto - som du skal holde privat og kun bruge, når det er strengt nødvendigt. Hvis du glemmer adgangskoden eller har brug for at nulstille den (for eksempel når en databaseadministrator skifter roller - eller er afskediget!).

Denne artikel vil komme til nytte. Vi forklarer, hvordan du nulstiller eller gendanner glemt MySQL- eller MariaDB-rodadgangskode i Linux.

Selvom vi bruger en MariaDB-server i denne artikel, skal instruktionerne også fungere for MySQL.

Gendan MySQL eller MariaDB root-adgangskode

For at begynde skal du stoppe databasetjenesten og kontrollere servicestatus. Vi skal se den miljøvariabel, vi tidligere har indstillet:

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

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

Start derefter 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 giver dig mulighed for at oprette forbindelse til databaseserveren som root uden en adgangskode (du skal muligvis skifte til en anden terminal for at gøre det):

# mysql -u root

Følg derefter nedenstående trin.

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

Endelig skal du stoppe tjenesten, fjerne miljøvariablen og starte tjenesten igen:

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

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

Dette får de tidligere ændringer til at træde i kraft, så du kan oprette forbindelse til databaseserveren ved hjælp af den nye adgangskode.

I denne artikel har vi diskuteret, hvordan du nulstiller MariaDB/MySQL root-adgangskoden. Som altid er du velkommen til at bruge kommentarformularen nedenfor til at sende os en note, hvis du har spørgsmål eller feedback. Vi ser frem til at høre fra dig!