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!