sql >> Databasteknik >  >> RDS >> Mysql

Hur man återställer MySQL eller MariaDB Root Password i Linux

Om du ställer in en MySQL- eller MariaDB-databasserver för första gången, är chansen stor att du kommer att köra mysql_secure_installation snart efteråt för att implementera grundläggande säkerhetsinställningar.

En av dessa inställningar är lösenordet för databasens rotkonto – som du måste hålla privat och endast använda när det är absolut nödvändigt. Om du glömmer lösenordet eller behöver återställa det (till exempel när en databasadministratör byter roll – eller blir uppsagd!).

Föreslagen läsning: Ändra MySQL eller MariaDB Root Password

Den här artikeln kommer väl till pass. Vi kommer att förklara hur man återställer eller återställer glömt MySQL- eller MariaDB-rootlösenord i Linux.

Även om vi kommer att använda en MariaDB-server i den här artikeln, bör instruktionerna också fungera för MySQL.

Återställ MySQL eller MariaDB root-lösenord

För att börja, stoppa databastjänsten och kontrollera tjänstens status, vi bör se miljövariabeln som vi ställde in tidigare:

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

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

Starta sedan tjänsten 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 &

Detta gör att du kan ansluta till databasservern som root utan lösenord (du kan behöva byta till en annan terminal för att göra det):

# mysql -u root

Följ sedan stegen nedan.

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

Slutligen, stoppa tjänsten, avaktivera miljövariabeln och starta tjänsten igen:

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

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

Detta gör att de tidigare ändringarna träder i kraft, vilket gör att du kan ansluta till databasservern med det nya lösenordet.

Sammanfattning

I den här artikeln har vi diskuterat hur man återställer MariaDB / MySQL root-lösenordet. Som alltid, använd gärna kommentarsformuläret nedan för att skriva till oss om du har några frågor eller feedback. Vi ser fram emot att höra från dig!


  1. php include-felet hittar inte sökvägen

  2. Hur man använder GOTO i SQL Server

  3. Fullständig återställning av ett MySQL- eller MariaDB Galera-kluster från säkerhetskopiering

  4. MariaDB LOCALTIMESTAMP() Förklarad