Jak odzyskać hasło root w mysql(d)?
“Zabiją mnie zgubiłem hasło dla użytkownika root w mysql!”
Jeśli spotyka Cię problem odzyskania dostępu do najważniejszych uprawnień administracji serwerem mysql, sytuacja nie jest bez wyjścia. Wymagane jest zachowanie spokoju i postępowanie zgodnie z mechanizmami przeznaczonymi właśnie do tego celu. Poiżej tutorial.
1. Rozpoczynamy od zatrzymania bazy danych, poleceniem typu: ./etc/init.d/mysql stop
2. Kolejnym krokiem będzie uruchomienie serwera mysql bez sprawdzania uprawnień oraz bez akceptowania połaczeń sieciowych. Służą temu dwie opcje podawane jako parametry: --skip-grant-tables oraz –skip-networking.
mysqld –skip-grant-tables –skip-networking &
3. Logujemy się do serwera jako root używając bazę mysql:
mysql -u root mysql
4.Wykonujemy polecenie przypisania nowego hasła oraz przeładowania uprawnień:
update user set password=PASSWORD(“NEW-ROOT-PASSWORD”) where User=’root’;
flush privileges;
quit
5. Zatrzymujemy ponownie demona mysql i startujemy go w normalnym trybie pracy.
6. Cieszymy się pełnym dostępem do serwera mysql;)
Istenieje wariant w postaci mysqld_safe –skip-grant-tables & oraz wykonania polecenia mysqladmin -u root flush-privileges password “newpassword”. Nie wymaga ono logowania do mysql, a korzysta z zewnętrznego narzędzia mysqladmin w trybie SAFE.