Jak dostać się do bazy danych nie przez phpmyadmina?

  • Poziom trudności:

Jeśli chcesz uzyskać dostęp do bazy MySQL to zapewne już się dowiedziałeś, że strony w WordPressie składają się z plików, które umieszcza się na serwerze oraz bazy danych czyli miejsca w którym zapisywane są wszystkie wpisy, informacje o wgranych zdjęciach oraz ustawienia witryny. Informacje na temat dostępu FTP oraz dostępu do phpmyadmina powinny być przekazane przez dział techniczny hostingu i to do nich powinniśmy się udać aby mieć pełen dostęp do modyfikacji na stronie.

Teoria teorią, a życie przynosi różne sytuacje i czasami trzeba sobie radzić samemu. Niekiedy zdarza się że chcemy komuś pomóc, kto ma tylko dostęp do kokpitu WordPressa, nie wie gdzie wykupił hosting do strony. W tej sytuacji możemy skorzystać z narzędzia do zarządzania bazą danych, które możemy szybko wgrać na serwer, a następnie po wykonaniu pracy w szybki sposób je usunąć.

Z tego wpisu dowiesz się:

  • jak w szybki sposób uzyskać dostęp do bazy MySQL posiadając tylko dostęp do Kokpitu
  • jakie zalety i wady niesie za sobą to rozwiązanie
  • jakie funkcjonalności zawiera to narzędzie

Rozwiązanie, o którym chciałbym Ci opowiedzieć nosi nazwę Adminer. Jest to narzędzie pozwalające na dostanie się do bazy danych bez konieczności wchodzenia do phpmyadmina. Jeśli oczywiście chcesz, możesz poszukać adresu w którym znajduje się Twój phpmyadmin i skorzystać także z niego. Tu znajdziesz darmową instrukcję w jaki sposób znaleźć narzędzie funkcjonujące na większości popularnych hostingów.

Krok 1: Instalacja narzędzia

Wejdź na GitHub’a na podstronę gdzie znajduje się wtyczka Adminer i kliknij w przycisk:

Następnie potwierdź, że chcesz pobrać Adminera klikając na Download ZIP i wskaż na dysku miejsce, gdzie archiwum ma być zapisane.

Kiedy pobierzesz plik .zip, wróć do Kokpitu swojego WordPressa, wybierz sekcję Wtyczki -> Dodaj nową, wciśnij „Wyślij wtyczkę na serwer” i wskaż pobrany przed chwilą plik z dysku. Po instalacji nie zapomnij włączyć Adminera.

Czy istnieje jeszcze inny sposób na skorzystanie z Adminera?

Oczywiście że tak! W repozytorium WordPressa można znaleźć wtyczkę ARI Adminer – WordPress Database Manager jednak ze względu na dosyć skomplikowaną instalację – szczególnie dla osób, które nie posiadają wszystkich danych dostępowych do bazy danych i nie wiedzą gdzie ich szukać – sugeruję aby skorzystać z Adminera, a nie ARI Adminera. Ponadto Adminer już kiedyś był w repozytorium i zniknął, niewykluczone że ARI Adminer podzieli jego los, dlatego wolę przedstawić rozwiązanie, które jest w 100% sprawdzone i łatwe do wdrożenia.

Krok 2: Pierwsze uruchomienie

Skoro instalację mamy już za sobą czas najwyższy zapoznać się z naszą nową wtyczką. Adminer pojawił się w sekcji Narzędzia -> Adminer. Po przejściu w to miejsce pojawi nam się ekran podobny do tego:

Patrząc od dołu – znajdziesz tu dane swojej bazy danych WordPressa oraz zakropkowane hasło (nie potrzebujesz go znać, Adminer wyciągnie je z pliku konfiguracyjnego za Ciebie – gdybyś jednak potrzebował hasło to tu znajdziesz instrukcję jak je zdobyć posiadając dostęp FTP). Powyżej są dwa najważniejsze przyciski:

Przy pomocy pierwszego (lewego) otworzysz Adminera wewnątrz tej karty w wyskakującym oknie, zaś drugi (prawy) służy do otwarcia go w nowej karcie. Preferuję to drugie rozwiązanie i Ciebie również zachęcam do skorzystania z niego.

Po otwarciu Adminera zobaczysz wygląd zbliżony do tego, który być może znasz z phpmyadmina. Po lewej stronie będziesz na stałe widział tabele takie jak: wp_comments, wp_options, wp_posts itp. zaś z prawej możesz wyświetlić dane poszczególnych tabel, ich strukturę albo skorzystać z dodawania nowego rekordu. Jeśli korzystasz z tego narzędzia w sposób nie do końca pewny, to proponuję żebyś skojarzył je sobie ze standardowym oknem Eksploratora plików w Windowsie:

Z lewej strony znajdziesz tu poszczególne miejsca gdzie są przechowywane różne rodzaje danych: obrazy, muzyka, dokumenty. Prawa część będzie kryła konkretne dane.

Identycznie jest w Adminerze. Po lewej znajdziesz tabele, wewnątrz których przechowywane są określone rodzaje danych (wyświetlane z prawej). Są to między innymi:

  • wp_commentmeta – metadane komentarzy
  • wp_comments – treść komentarzy
  • wp_links – dodane łącza i ich dane;
  • wp_options – opcje witryny
  • wp_postmeta – metadane wpisów
  • wp_posts – treść wpisów
  • wp_terms – kategorie i tagi
  • wp_term_relationships – tworzy relacje kategorii i tagów z wpisami
  • wp_term_taxonomy – opisy kategorii i tagów
  • wp_usermeta – metadane użytkowników
  • wp_users – użytkownicy

Być może brzmi to dość skomplikowanie ale w tym momencie nie musisz niczego zapamiętywać. Najczęściej używane są tabele wp_options (w momencie kiedy zmienisz adres witryny i będziesz chciał tam poprawić URL na właściwy), wp_users (np. jeśli zechcesz zresetować hasło użytkownika do którego nie masz dostępu), do pozostałych zagląda się wedle potrzeby.

Krok 3: Często używana funkcja Adminera

Jedną z częstszych funkcji używanych w Adminerze jest Eksport i Import bazy danych. Poniżej pokażę Ci w jaki sposób wykonać prosty Eksport. Następnie usunę przy jego pomocy wszystkie tabele i dokonam importu tej samej bazy.

Zanim jednak to zrobię chciałem Cię uprzedzić o jednym ważnym ograniczeniu. Adminer działający jako wtyczka WordPressowa (albo jako plik wgrywany na serwer, bo tak też można go używać, niekoniecznie wiążąc go z WordPressem) jest narzędziem wykorzystującym możliwości i ograniczenia aktualnej wersji php. Znaczy to, że podobnie jak phpmyadmin Adminer może nie poradzić sobie z dużymi bazami danych. Do tego typu baz nadają się inne narzędzia jak chociażby MySQLDumper.

Tymczasem sprawdźmy jak eksportować i importować dane przy użyciu Adminera:

Jak widać na powyższym nagraniu ekranu nie da się w pełni usunąć wszystkich tabel z WordPressa jeśli korzystasz z Adminera wgrywanego jak WordPressowa wtyczka. Jest to logiczne, bo jeśli narzędzie jest częścią większego systemu to nie da się całego systemu wyczyścić, bo narzędzie które służy nam do usuwania tabel nie może usunąć tabeli odpowiadającej za swoje ustawienia.

Ponieważ jednak zależy mi na tym aby pokazać Wam jak wygląda pełny proces eksportu i importu bazy, dlatego w kolejnym kroku zainstalujemy osobny plik, który jest Adminerem nie będącym wtyczką. Brak powiązania z WordPressem powinien rozwiązać problem powiązań i zależności – będziemy dzięki temu mogli eksportować wszystkie tabele, następnie je usunąć i wgrać ponownie.

Krok 4: Instalacja Adminera w wersji jednoplikowej

Na początku przejdź do strony https://www.adminer.org/ i pobierz najnowszego Adminera w wersji polskiej. W momencie kiedy przygotowuję ten kurs najnowszą wersją jest 4.6.2:

Następnie powinieneś skorzystać z klienta FTP (np. FileZilli, WinSCP albo innego programu), połączyć się ze swoim serwerem (jeśli nie znasz danych – poproś o pomoc swojego dostawcę hostingu) i przejść do katalogu public_html. Jeśli otworzyłeś właściwy katalog z WordPressową stroną znajdziesz strukturę:

Jak się nie trudno domyślić najlepiej jak znajdziesz plik wp-config.php, otworzysz go w notatniku albo innym prostym edytorze i dotrzesz do nazwy bazy danych, użytkownika oraz hasła:

Skopiuj sobie te dane w bezpieczne miejsce, wkrótce będziesz ich potrzebował. Teraz wystarczy że np. założysz katalog dla Adminera i wrzucić tam pobrany niedawno plik php. Po wpisaniu adresu strony np. twojastronainternetowa.pl/adminer/adminer-4.6.2-pl.php otworzy się ekran do wpisania nazwy bazy danych, użytkownika oraz hasła. Przydadzą się teraz dane które skopiowaliśmy z naszego pliku konfiguracyjnego. Po ich wprowadzeniu otworzy się nam samodzielny Adminer.

Sprawdźmy teraz czy w wersji samodzielnej w postaci Adminera niebędącego wtyczką będzie bezproblemowo działała opcja usuwania wszystkich tabel, uprzedniego ich eksportu oraz importu całej bazy:

Jak widać cała operacja przebiegła bez najmniejszych problemów. Jeśli planujecie mocną ingerencję w tabele (włącznie z ich usuwaniem) to polecam tą wersję Adminera. Tym bardziej, że radzi sobie z bazami MySQL które osiągają wielkość 40 MB (większych nie sprawdzałem).

Po skończonej pracy

Bardzo ważne jest, aby po skończonej pracy z Adminerem usunąć go z serwera, wyłączyć lub usunąć wtyczkę. Ponieważ instalacja tego narzędzia nie jest niczym skomplikowanym dlatego lepiej nie trzymać go na serwerze aby nie otwierać osobom łamiącym dostępy do witryn kolejnej furtki przy pomocy której będą mieli mniej lub bardziej utrudniony dostęp do bazy danych. Dlatego właśnie rekomenduję takie działanie:

UDOSTĘPNIJ