Wyszukiwanie w witrynie

Jak zresetować hasło roota MySQL lub MariaDB w systemie Linux


Jeśli po raz pierwszy konfigurujesz serwer baz danych MySQL lub MariaDB, prawdopodobnie wkrótce potem uruchomisz mysql_secure_installation w celu wdrożenia podstawowych ustawień bezpieczeństwa.

Jednym z tych ustawień jest hasło do konta root bazy danych – które należy zachować jako prywatne i używać tylko wtedy, gdy jest to absolutnie konieczne. Jeśli zapomnisz hasła lub będziesz musiał je zresetować (na przykład, gdy administrator bazy danych zmieni rolę – lub zostanie zwolniony!).

Sugerowana lektura: Zmień hasło roota MySQL lub MariaDB

Ten artykuł będzie przydatny. Wyjaśnimy, jak zresetować lub odzyskać zapomniane hasło roota MySQL lub MariaDB w systemie Linux.

Chociaż w tym artykule będziemy używać serwera MariaDB, instrukcje powinny działać również w przypadku MySQL.

Odzyskaj hasło roota MySQL lub MariaDB

Na początek zatrzymaj usługę bazy danych i sprawdź status usługi, powinniśmy zobaczyć zmienną środowiskową, którą ustawiliśmy wcześniej:


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

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

Następnie uruchom usługę za pomocą --skip-grant-tables:


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

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

Umożliwi to połączenie się z serwerem bazy danych jako root bez hasła (w tym celu może być konieczne przełączenie się na inny terminal):


mysql -u root

Od tego momentu wykonaj kroki opisane poniżej.


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

Na koniec zatrzymaj usługę, usuń ustawienie zmiennej środowiskowej i uruchom usługę jeszcze raz:


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

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

Spowoduje to zastosowanie poprzednich zmian i umożliwi połączenie się z serwerem bazy danych przy użyciu nowego hasła.

Streszczenie

W tym artykule omówiliśmy, jak zresetować hasło roota MariaDB/MySQL. Jak zawsze, jeśli masz jakieś pytania lub uwagi, możesz skorzystać z poniższego formularza komentarza i przesłać nam wiadomość. Oczekujemy na kontakt zwrotny!