Zmiana prefiksu bazy danych WordPress: 3 proste metody

Zmiana prefiksu tabel bazy danych WordPressa to prosty, ale skuteczny sposób na zwiększenie bezpieczeństwa Twojej witryny. Domyślnie WordPress przypisuje prefiks tabeli wp_, co czyni go częstym celem hakerów próbujących wykonać ataki SQL injection. Modyfikacja tego prefiksu może pomóc chronić Twoją bazę danych przed tego typu zagrożeniami.

W tym przewodniku wyjaśnimy trzy różne metody bezpiecznej zmiany prefiksu tabel bazy danych WordPressa.

Każda akcja w witrynie WordPress jest powiązana z bazą danych:

Jak działają bazy danych w WordPressie.
This image demonstrates how Databases work in WordPress.

Dlaczego warto zmienić prefiks tabel WordPressa?

Zmiana domyślnego prefiksu tabeli wp_ pomaga:

  • Zmniejszyć ryzyko ataków SQL injection
  • Utrudnić atakującym odgadnięcie nazw tabel
  • Dodać dodatkową warstwę bezpieczeństwa Twojej witrynie WordPress

Zanim zaczniesz: zrób kopię zapasową bazy danych

Przed wprowadzeniem jakichkolwiek zmian utwórz pełną kopię zapasową bazy danych WordPress, używając phpMyAdmin, wtyczki takiej jak WP Staging lub narzędzia wiersza poleceń.

Zmiana prefiksu bazy danych WordPress może być krytycznym zadaniem i nie zawsze jest łatwa. Musisz upewnić się, że podczas zmiany prefiksu tabel WordPress nie uszkodzisz swojej witryny.

Przed zmianą prefiksu bazy danych zalecamy wykonanie tego na witrynie staging. Dzięki temu możesz dokładnie sprawdzić, czy aktualizacja działa, a po zmianie prefiksu BD bezpiecznie przenieść swoją witrynę staging na witrynę produkcyjną bez ryzyka utraty danych.

Witryna staging to kopia Twojej witryny produkcyjnej, dzięki czemu możesz wprowadzać różne zmiany/testować je i publikować jednym kliknięciem.

Bezpłatną witrynę staging możesz utworzyć dzięki WP STAGING.

Podczas instalacji WordPressa jednym z najczęstszych błędów jest zapomnienie o zmianie prefiksu bazy danych WordPress, co pozwala atakującym uruchamiać zautomatyzowane SQL injection. Dlatego podjęcie działań zapobiegawczych jest kluczowe, aby chronić Twoją witrynę przed włamaniem.

Jak zmienić prefiks bazy danych WordPressa

Postępuj zgodnie z tym przewodnikiem krok po kroku, aby bezpiecznie zmienić nazwę prefiksu bazy danych WordPressa.

Istnieją trzy (3) opcje zmiany i zmiany nazwy prefiksu bazy danych Twojej witryny WordPress:

  1. Użycie wtyczki do zmiany prefiksu tabel bazy danych.
  2. Zmiana prefiksu bazy danych WordPress za pomocą zapytania bazy danych w Adminerze.
  3. Zmiana prefiksu bazy danych WordPress za pomocą zapytania bazy danych w PhpMyAdmin.

Metoda 1: użyj wtyczki, aby zmienić prefiks tabel bazy danych

Najpierw zalecamy wykonanie kopii zapasowej witryny (zarówno funkcją kopii zapasowej w WP STAGING | PRO jak i ręcznie przez CPanel), aby uniknąć jakichkolwiek problemów spowodowanych instalacją wtyczki.

Możemy zmienić prefiks bazy danych za pomocą wtyczki. Oto kilka prostych kroków, aby to zrobić w WordPressie.

  1. Przejdź do kokpitu WordPressa.
  2. Przejdź do zakładki „Wtyczki" i kliknij „Dodaj nową".
  3. Wyszukaj Brozzme DB Prefix & Tools Add-ons w repozytorium wtyczek WordPressa.
  4. Kliknij przycisk „Zainstaluj teraz", aby zainstalować wtyczkę Brozzme DB Prefix & Tools Add-on na swojej witrynie.
  5. Kliknij przycisk „Aktywuj", aby aktywować tę wtyczkę.
aktualizacja prefiksu bazy danych WordPress za pomocą wtyczki

Wtyczka jest aktywowana i możemy od razu rozpocząć zmianę prefiksu bazy danych WordPress.

  1. Przejdź do „Narzędzia" i kliknij „DB Prefix". Zobaczysz aktualny prefiks swojej bazy danych i będziesz mógł zmienić go na nowy.
prefiks bazy danych WordPress

Jeśli plik wp-config.php nie jest zapisywalny, otrzymasz powiadomienie o błędzie, ponieważ ta wtyczka nie może zmienić prefiksu bazy danych w pliku wp-config.php.

Kliknięcie przycisku „Change DB Prefix" kończy proces.

Metoda 2: zmiana prefiksu bazy danych WordPress za pomocą zapytania SQL w Adminerze

Zmień prefiks tabeli w pliku konfiguracyjnym wp-config.php

Zmień wartość prefiksu tabel w pliku wp-config.php znajdującym się w głównym katalogu instalacji WordPressa.

Aby edytować plik wp-config.php, możesz zalogować się przez FTP lub SFTP, używając Filezilli lub innego klienta FTP. Dane FTP znajdziesz w cPanelu (zależnie od hostingu, ponieważ niektórzy dostawcy nie używają cPanelu, lecz własnego panelu).

Wyszukaj tę linię w pliku wp-config.php:

$table_prefix = 'wp_testing123_';

 
Ten obrazek pokazuje, gdzie w pliku wp-config.php znaleźć prefiks tabel.
It should look like this in the wp-config file:
Ten obrazek pokazuje, jak wygląda zaktualizowana linia.
That is what the updated line should look like.

Możesz używać tylko prefiksu zawierającego cyfry, litery i podkreślniki. Po wprowadzeniu zmian w pliku wp-config.php zapisz go.

Zmień nazwy tabel bazy danych

Jeśli używasz Adminera, przycisk polecenia SQL znajdziesz w lewym górnym rogu — kliknij ten przycisk.

Ten obrazek pokazuje zrzut ekranu z lokalizacją przycisku polecenia SQL w Adminerze
Where to find the SQL command button

Poniższego zapytania SQL można użyć do zmiany prefiksu tabel WordPress w bazie danych istniejącej witryny WordPress.

Zaktualizuj właściwości SET według własnych potrzeb:

  • nazwa bazy danych
  • oldprefix_
  • newprefix_

To jest to zapytanie SQL:

sql
SET @database  = "<strong>databasename</strong>";
SET @oldprefix = "<strong>oldprefix_</strong>";
SET @newprefix = "<strong>newprefix_</strong>";
 
SELECT
    concat(
        "RENAME TABLE ",
        TABLE_NAME,
        " TO ",
        replace(TABLE_NAME, @oldprefix, @newprefix),
        ';'
    ) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Po dostosowaniu zapytania otrzymasz coś takiego:

Zapytanie SQL aktualizujące prefiks bazy danych WordPress
Use this SQL query to update the WordPress database Prefix

Wykonaj to zapytanie, a w wyniku otrzymasz kolejne zapytania, takie jak te:

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Skopiuj te zapytania i wykonaj je ponownie, aby zmienić nazwy tabel na nowe.

Użyj tego zapytania SQL, aby zmienić nazwy tabel bazy danych WordPress
Use this SQL query to rename WordPress database tables

Zmień prefiks w tabeli user meta

Po zmianie nazw tabel musisz również zamienić niektóre wartości w tabelach *_usermeta oraz *_options, używając poniższych zapytań.

Nie zapomnij zaktualizować wyróżnionych ciągów.

Aby zamienić wartości w tabeli *_usermeta, użyj tego zapytania:

SQL
UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'oldprefix_', 'newprefix_')
WHERE meta_key LIKE 'oldprefix_%';
Użyj tego zapytania SQL, aby zmienić prefiks tabeli w tabeli wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Zaktualizuj prefiks w tabeli wp_options

Ostatnim krokiem jest zamiana wartości w tabeli *_options.

Użyj tego zapytania:

SQL
UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';
Ten obrazek pokazuje zapytania SQL zamieniające wartości w tabeli options
Execute this query to replace the values in the options table.

To wszystko.

Metoda 3: zmiana prefiksu bazy danych WordPress za pomocą zapytania SQL w PHPmyAdmin

Zmień prefiks tabel w pliku wp-config.php.

Zmień prefiks tabel w pliku wp-config.php znajdującym się w głównym katalogu instalacji WordPressa.

Aby edytować plik wp-config.php, możesz zalogować się przez FTP lub SFTP, używając Filezilli lub innego klienta FTP. Dane FTP znajdziesz w cPanelu (zależnie od hostingu, ponieważ niektórzy dostawcy nie używają cPanelu, lecz własnego panelu).

Zobacz tę linię w pliku wp-config.php.

$table_prefix = 'wp_testing123_';

Możesz używać tylko prefiksu zawierającego cyfry, litery i podkreślniki. Po wprowadzeniu zmian w pliku wp-config.php zapisz go.

Zmień nazwy tabel bazy danych

Załóżmy, że używasz cPanelu i uzyskujesz dostęp do PhpMyAdmin. Po lewej stronie zobaczysz swoje bazy danych. Jeśli nie używasz cPanelu, skontaktuj się ze swoim hostingiem i uzyskaj dostęp do bazy danych swojej witryny.

Wybierz bazę danych, w której chcesz zmienić prefiks tabel określony w pliku wp-config.php, a następnie wykonaj poniższe kroki.

  1. Wybierz bazę danych.
  2. Zaznacz pole „zaznacz wszystkie", aby wybrać wszystkie tabele.
  3. Kliknij listę rozwijaną i wybierz „Zamień prefiks tabeli".
zmień prefiks tabeli WordPress
  1. Zamień stary prefiks na nowy prefiks.
zaktualizuj prefiks bazy danych WordPress

Po wprowadzeniu nowego prefiksu kliknij Kontynuuj, co zmieni prefiks w bazie danych.

Zmień prefiks w tabeli Options

Wyszukaj prefiks wp_ w tabeli options za pomocą tego zapytania.

SQL
SELECT * FROM `wp_testing123_options` WHERE `option_name` LIKE '%wp_%'

Zamień wszystkie stare prefiksy na nowe.

Zamień stare prefiksy tabel na nowe za pomocą zapytania SQL.

Zaktualizuj prefiks w tabeli Usermeta

Musimy wyszukać wp_ jako prefiks w tabeli usermeta i zamienić go za pomocą tego zapytania.

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
prefiks bazy danych witryny WordPress

Inną opcją jest: jeśli chcesz zmienić prefiks bazy danych za pomocą zapytania, możesz użyć tego jednego zapytania, aby to zadziałało.

Jeśli chcesz zmienić prefiks tabel WordPress w bazie danych istniejącej witryny WordPress, możesz użyć następującego zapytania SQL:

SQL
SET @database = "database_name";
SET @old_prefix = "old_prefix_";
SET @new_prefix = "new_prefix_";

SELECT concat "RENAME TABLE ", TABLE_NAME, " TO", replace(TABLE_NAME, @old_prefix, @new_prefix),';') AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

To zapytanie utworzy kolejne zapytanie SQL, którego możesz użyć do zmiany nazw wszystkich prefiksów tabel na nowe.

Następnie musisz również zamienić niektóre wartości w tabelach wp_usermeta i wp_options, używając poniższych zapytań.

SQL
UPDATE `wp_testing123_usermeta`
SET meta_key = REPLACE(meta_key, 'wp_', 'new_')
WHERE meta_key LIKE 'wp_%';

UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';

To wszystko.

To jest ręczna metoda zmiany prefiksu bazy danych.

Nie mogę się zalogować do panelu administracyjnego WordPress po zmianie nazwy prefiksu tabeli

To najczęstszy błąd, na który natrafiają użytkownicy podczas zmiany nazwy prefiksu tabel WordPress.
Sprawdź, czy zaktualizowałeś prefiks w wszystkich tych nazwach kolumn i czy żadnej z nich nie pominąłeś:

W tabeli wp_option

  • wp_user_roles

W tabeli wp_user_meta

  • wp_capabilities
  • wp_user_level

Po zmianie prefiksu tych kolumn na taki sam jak w nazwach tabel ponownie zalogujesz się do swojej witryny WordPress.

Podsumowanie

Zmiana prefiksu tabel WordPress to prosty, ale skuteczny środek bezpieczeństwa. Niezależnie od tego, czy używasz phpMyAdmin, wtyczki czy skryptów SQL, zawsze rób kopię zapasową bazy danych przed wprowadzeniem zmian. Ta drobna modyfikacja może wiele zdziałać w kwestii zabezpieczenia Twojej witryny WordPress!

Powiązane artykuły

Rene Hermenau

Autor: Rene Hermenau

O autorze: René Hermenau jest założycielem WP STAGING. Zajmuje się kopiami zapasowymi WordPressa, środowiskami stagingowymi, migracjami, obsługą baz danych oraz bezpiecznymi procesami wdrażania.