Z założenia lepiej haseł nie zapominać, ale czasem bywa to trudne, zwłaszcza gdy się przestrzega zasad w stylu „do każdego serwisu/konta indywidualne/unikatowe hasło” czy „nigdzie nie zapisuj haseł” – dlatego dziś będziemy odzyskiwać zapomniane hasło do panelu zarządzania WordPressem.

WordPress i zapomniane hasło

Teoretycznie odzyskanie dostępu do WordPressa nie jest specjalnie trudne – wystarczy na oknie logowania skorzystać z opcji:

Nie pamiętasz hasła?

W tym momencie zostaniemy przeniesieni na stronę:

https://[adres_strony]/wp-login.php?action=lostpassword

Znajduje się tu formularz, w którym wystarczy wpisać naszą nazwę użytkownika lub adres e-mail:

Po chwili otrzymacie e-mail z linkiem w stylu:

https://[adres_strony]/wp-login.php?action=rp&key=[kod]&login=[nazwa_użytkownika]

Wystarczy na niego kliknąć by trafić do kolejnego formularza, za pomocą którego utworzycie nowe hasło:

Proste i szybkie… O ile macie dostęp do adresu e-mail przypisanego do swojego konta…

Reset hasła z poziomu drugiego konta

W innym wypadku – jeśli do naszej strony jest przypisany inny użytkownik (kolega, zapasowy użytkownik) z odpowiednimi uprawnieniami możemy skorzystać z jego pomocy.

Wystarczy z drugiego konta przejść do edycji użytkownika z problemem:

  • Użytkownicy > Wszyscy użytkownicy > [użytkownik z problemem]

I w odpowiednim miejscu ustawić nowe hasło:

Proste i szybkie… O ile jest drugi użytkownik z odpowiednimi uprawnieniami…

Resetowanie hasła do WordPressa w MySQL

Gdy bierzemy się za bazę danych (co najmniej) mamy 3 drogi:

  • Bezpośrednia edycja tabeli z poziomu phpMyAdmin
  • Polecenie (zapytanie) SQL z poziomu phpMyAdmin
  • Polecenie (zapytanie) SQL z wiersza poleceń/konsoli

Wybór metody pozostawiam Wam, wszystkie są porównywalnie „skomplikowane”… ;-)

Bezpośrednia edycja tabeli z poziomu phpMyAdmin

Logujemy się do phpMyAdmin jako administrator (root) lub inny użytkownik z odpowiednimi uprawnieniami i przechodzimy do bazy danych z której korzysta nasz WordPress:

  • [baza danych] > tabela „wp_users” >

Znajdziecie tu listę wszystkich użytkowników, np.:

Wystarczy przejść do edycji wybranego użytkownika. Nie ma znaczenia, czy będzie to „edytuj” (zalecam), czy „inline edit” – w obu przypadkach będzie pole „tekstowe” o nazwie „user_pass” w którym wpisujemy nowe hasło.

Hasło nie wpisujemy w formie jawnej, tzn. „zwykłego tekstu”, a przetworzonej – w formie skrótu MD5.

Odpowiedni generator (online) znajdziecie choćby za pomocą Google…

Przykład dla hasła „123456”:

Hasło: 123456

MD5: e10adc3949ba59abbe56e057f20f883e

I to właśnie hasło „zaszyfrowane” w MD5 wpisujemy w polu „user_pass”.

Polecenie (zapytanie) SQL z poziomu phpMyAdmin

Kolejna metoda – również z wykorzystaniem phpMyAdmin, choć trochę w innej formie/formule – to wykonanie odpowiedniego polecenia (zapytania) SQL.

Ty razem również zaczynamy od przejścia (wybrania) do odpowiedniej bazy danych – ale tym razem w górnej belce nawigacyjnej wybieramy „SQL” gdzie znajduje się duże pole tekstowe zatytułowane:

Wykonanie zapytania/zapytań SQL do bazy danych [nazwa bazy danych]

Wpisujemy tu polecenie wg schematu:

UPDATE `wp_users` SET `user_pass` = MD5('nowe_hasło') WHERE `wp_users`.`user_login` = "nazwa_użytkownika";

W naszym przypadku będzie to użytkownik „patryk” i nowe hasło „123456”, a więc polecenie będzie wyglądać tak:

UPDATE `wp_users` SET `user_pass` = MD5('123456') WHERE `wp_users`.`user_login` = "patryk";

Można też wykonać to polecenie odwołując się do użytkownika po jego ID a nie po nazwie – ID danego użytkownika znajdziecie w tabeli „wp_users”:

W tym przypadku polecenie ma format:

UPDATE `wp_users` SET `user_pass` = MD5('nowe_hasło') WHERE `wp_users`.`ID` = "ID_użytkownika";

W naszym przypadku użytkownik „patryk” ma ID „8” i nowe hasło – standardowo na potrzeby tego poradnika –  „123456”, a więc polecenie będzie wyglądało tak:

UPDATE `wp_users` SET `user_pass` = MD5('123456') WHERE `wp_users`.`ID` = "8";

Oczywiście w każdym przypadku polecenie zatwierdzacie przyciskiem „wykonaj”.

Polecenie (zapytanie) SQL z wiersza poleceń/konsoli

Ostatnia metoda związana z edycją bazy danych to wykonanie kilku poleceń z poziomu wiersza poleceń/konsoli – co od razu eliminuje wszystkich bez własnego serwera, czyli korzystających z hostingu współdzielonego gdzie zazwyczaj nie ma dostępu do konsoli.

Będziemy tu działać podobnie jak w przypadku poradnik „odzyskiwanie dostępu do konta root w MySQL” – oczywiście z pewnymi modyfikacjami, bo nie chcemy resetować dostępu do konta „root” usługi MySQL, a tylko dla odpowiedniego użytkownika WordPressa ;-)

Logujemy się do bazy danych za pomocą polecenia:

mysql -u root -p

Zaczynamy od wyświetlenia wszystkich dostępnych baz danych:

show databases;

Gdy już znamy nazwę bazy (można ją też pobrać z pliku wp-config.php, ale wtedy czemu nie skorzystać z metody z wp-login.php o której będzie za chwilę) przechodzimy do niej:

use nazwa_bazy_sql;

Pora na listę użytkowników:

SELECT ID, user_login, user_pass FROM wp_users;

W tym momencie mamy już ID użytkownika (ID „8”) oraz nazwę („patryk”) więc możemy przystąpić do zmiany hasła:

UPDATE wp_users SET user_pass = MD5('123456') WHERE ID=8 LIMIT 1;

Lub:

UPDATE wp_users SET user_pass = MD5('123456') WHERE user_login='patryk' LIMIT 1;

Resetowanie hasła z poziomu FTP (plik wp-login.php)

Kolejna metoda to reset hasła z wykorzystaniem pliku wp-login.php znajdującego się w głównym katalogu WordPressa.

Jest to bardzo prosta i szybka metoda, ale umieszczam ją dopiero za opisem odzyskiwania dostępu do konta z wykorzystaniem SQL gdyż… do jej zastosowania potrzebujemy znać ID użytkownika – a ID najprościej odczytać właśnie z poziomu phpMyAdmin.

Teoretycznie możecie zaryzykować, i – jeśli nie zmienialiście nic w użytkownikach, i korzystacie z użytkownika założonego bezpośrednio podczas instalacji/konfiguracji WordPressa – uznać, że ID Waszego użytkownika to będzie „1”.

Oczywiście wymagany jest też dostęp do plików Waszego WordPressa, ale to w większości przypadków nie powinno stanowić problemu.

By ustawić nowe hasło dla użytkownika wystarczy w pliku wp-login.php (lub functions.php), na samym końcu dodać linijkę:

wp_set_password('nowe_nasło',ID_użytkownika);

W przypadku użytkownika z ID „1” i nowego hasła „123456” będzie to wyglądało tak:

wp_set_password('123456',1);

Pamiętajcie tylko by na koniec skasować ten zapis z pliku.

(!) Zgłoś błąd na stronie
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO WebInsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Napisz komentarz
wipl_napisz-komentarz_01
Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.