Uptime: 99.981%
Strony WWW:
Nowe strony WWW dzisiaj:
100 000 Użytkowników w SEOHOST. To dzięki Wam! Czytaj więcej W SEOHOST Użytkownik jest zawsze na pierwszym miejscu! Czytaj więcej Z SEOHOST korzysta już ponad 90 000 Użytkowników! Czytaj więcej Pełna transparencja: uptime naszej infrastruktury Czytaj więcej Wywiad z naszym CEO na bezprawnik.pl Czytaj więcej SEOHOST.pl zdobywa 2 miejsce w rankingu NASK. Czytaj więcej Uwaga: kolejna próba phishingu! Czytaj więcej Dlaczego warto migrować do SEOHOST? Czytaj więcej
Redakcja SEOHOST.pl
Redakcja SEOHOST.pl
30 Czerwca 2020
4 minuty

Jak zresetować hasło administratora WordPress przez MySQL (krok po kroku)?

Zdarza się, że po dłuższej przerwie od projektu zapominamy hasła administratora WordPress lub gubimy dane logowania do panelu. Na szczęście nie oznacza to końca pracy ze stroną – hasło można bez problemu zresetować bezpośrednio w bazie danych MySQL. W tym poradniku przeprowadzę Cię krok po kroku przez proces odczytania danych z pliku wp-config.php, zalogowania do MySQL i ustawienia nowego hasła administratora WordPressa.

Przygotowanie do przekierowania, konfiguracja bazy danych

Resetowanie hasła powinniśmy zacząć od zalogowania się do naszej bazy danych na serwerze, na którym działa WordPress. Jeśli nie pamiętasz nazwy bazy danych lub użytkownika, nie musisz niczego zgadywać – wszystkie potrzebne informacje znajdziesz w pliku wp-config.php.

Domyślnie plik ten znajduje się w katalogu instalacji WordPressa, czyli najczęściej w folderze public_html (lub htdocs, w zależności od serwera). Interesują nas w nim przede wszystkim poniższe linie:

  • define('DB_NAME', 'nazwa_bazy');
  • define('DB_USER', 'uzytkownik_bazy');
  • define('DB_PASSWORD', 'haslo');

Warto spisać sobie te informacje (nazwa bazy, użytkownik i hasło), ponieważ przydadzą się w kolejnym kroku – przy logowaniu do MySQL.

Jeśli często pracujesz z WordPressem i bazami danych, znacznie ułatwi Ci życie niezawodny i szybki hosting pod WordPress z pełnym dostępem do MySQL i wygodnym panelem DirectAdmin, dzięki któremu szybko dostaniesz się zarówno do plików, jak i bazy danych swojej strony.

Logowanie do bazy danych

Logowanie do naszej bazy danych z poziomu konsoli wygląda następująco. Używamy polecenia mysql z parametrami -u oraz -p:

mysql -u nazwa_naszego_uzytkownika_bazy -p

Po uruchomieniu tego polecenia system poprosi o podanie hasła użytkownika bazy. Jeśli dane z pliku wp-config.php zostały wpisane poprawnie, po zalogowaniu zobaczysz komunikat podobny do poniższego:

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Jak widać, zaraz po udanym logowaniu przy kursorze powinniśmy mieć napisane mysql>, co oznacza, że jesteśmy wewnątrz konsoli MySQL i możemy wykonywać zapytania.

Konsola MySQL po zalogowaniu – reset hasła WordPress

Wybór bazy danych i tabeli użytkowników

Na podstawie informacji z pliku wp-config.php możemy teraz wybrać właściwą bazę danych, a następnie wyświetlić znajdujące się w niej tabele.

Wybieranie bazy danych:

USE nazwa_bazy;

Wyświetlenie tabel wybranej bazy danych:

SHOW TABLES;

Lista tabel w bazie danych WordPress – tabela wp_users

Jak widać, MySQL wyświetli wszystkie tabele zawarte w bazie nazwa_bazy. Interesuje nas tabela o nazwie wp_users (prefiks wp_ może być inny, jeśli był zmieniany przy instalacji). To właśnie ona przechowuje informacje o użytkownikach WordPressa, w tym o koncie administratora.

Zmiana hasła administratora w MySQL

Teraz wybierzemy użytkownika, dla którego chcemy ustawić nowe hasło. Najpierw sprawdźmy zawartość kolumn z podstawowymi danymi użytkowników.

Uwaga: w MySQL każde polecenie kończymy średnikiem „;”. Brak średnika sprawi, że komenda nie zostanie wykonana.

SELECT ID, user_login, user_pass FROM wp_users;

Po wykonaniu tego zapytania powinna ukazać się lista użytkowników z ich ID, loginem (user_login) oraz hashem hasła (user_pass) zapisanym w formie zakodowanej (m.in. MD5 i kolejne mechanizmy WordPressa).

Aby ustawić nowe hasło dla administratora (zazwyczaj użytkownik o ID = 1), możemy wykonać następujące polecenie:

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

Po uruchomieniu powyższego zapytania w tabeli wp_users zostanie ustawione nowe hasło dla użytkownika o ID 1. Zostanie ono zapisane jako hash MD5, a podczas pierwszego logowania WordPress dodatkowo zaktualizuje je do nowszego, bezpieczniejszego formatu.

Teraz możesz przejść do panelu logowania WordPressa (np. /wp-admin) i spróbować zalogować się za pomocą nowego hasła.

Podsumowanie

Jak widać, resetowanie hasła administratora WordPress bezpośrednio w MySQL nie jest skomplikowane – wystarczy znać dane bazy z pliku wp-config.php, zalogować się do MySQL, odnaleźć tabelę wp_users i zaktualizować odpowiedni rekord. Dzięki temu szybko odzyskasz dostęp do panelu, nawet jeśli standardowe opcje „Nie pamiętasz hasła?” nie są dostępne (np. z powodu problemów z pocztą).

Jeśli na Twoim koncie dostępny jest także panel phpMyAdmin, istnieje jeszcze prostsza metoda zmiany hasła bez używania konsoli – wystarczy edycja rekordu użytkownika w interfejsie WWW. Szczegółowy opis znajdziesz np. w poradniku o resetowaniu hasła WordPressa przez phpMyAdmin na naszej stronie pomocy.

Ważne: przed wykonaniem jakiejkolwiek operacji na bazie danych WordPress warto wykonać kopię zapasową – szczególnie wtedy, gdy nie pracujesz na co dzień z SQL. Jeden niepoprawny UPDATE bez warunku WHERE może zmodyfikować więcej rekordów, niż planowałeś. Po udanym resecie hasła pamiętaj także o ustawieniu unikalnego, mocnego hasła (minimum kilkanaście znaków, litery, cyfry i symbole) oraz rozważ włączenie dodatkowych zabezpieczeń, takich jak dwuskładnikowe logowanie lub ograniczenie dostępu do /wp-admin.

Czy udało Ci się rozwiązać problem?
Nie znalazłeś odpowiedzi na swoje pytanie?