Datenbank-Präfix von WordPress nachträglich ändern

Aus Sicherheitsgründen sollte nicht der Standard-Präfix wp_ in der Datenbank von WordPress verwendet werden. Dies ist eine von vielen Möglichkeiten um sich z. B. vor Botangriffen zu schützen.

Zunächst sollte ein Backup der Datenbank und der Datei wp-config.php erstellt werden.

Mit SQL-Befehlen werden nun die einzelnen Tabellen umbenannt. Soll der neue Präfix tp461o2_ sein, dann sieht das so aus:

RENAME TABLE `wp_commentmeta` TO `tp461o2_commentmeta`;
RENAME TABLE `wp_comments` TO `tp461o2_comments`;
RENAME TABLE `wp_links` TO `tp461o2_links`;
RENAME TABLE `wp_options` TO `tp461o2_options`;
RENAME TABLE `wp_postmeta` TO `tp461o2_postmeta`;
RENAME TABLE `wp_posts` TO `tp461o2_posts`;
RENAME TABLE `wp_terms` TO `tp461o2_terms`;
RENAME TABLE `wp_term_relationships` TO `tp461o2_term_relationships`;
RENAME TABLE `wp_term_taxonomy` TO `tp461o2_term_taxonomy`;
RENAME TABLE `wp_usermeta` TO `tp461o2_usermeta`;
RENAME TABLE `wp_users` TO `tp461o2_users`;

Im Anschluss müssen noch alle Werte in den Tabellen options und usermeta aktualisiert werden, die auf den alten Tabellenpräfix verweisen.

UPDATE `tp461o2_options` SET `option_name`=REPLACE(`option_name`,’wp_’,’tp461o2_’) WHERE `option_name` LIKE ‘%wp_%';
UPDATE `tp461o2_usermeta` SET `meta_key`=REPLACE(`meta_key`,’wp_’,’tp461o2_’) WHERE `meta_key` LIKE ‘%wp_%';

Zuletzt wird der Tabellenpräfix in der wp-config.php angepasst und alles sollte rund laufen:

$table_prefix  = 'tp461o2_';

Anzumerken ist noch, dass diese Methode zwar funktioniert, aber Schwierigkeiten auftreten können sobald weitere Tabellen von Plugins angelegt worden sind. Diese müssen dann auch entsprechend umbenannt werden. Am Besten wird der Präfix aber schon bei der Installation von WordPress entsprechend angepasst, so dass diese Änderung später gar nicht mehr nötig wird.

Referenz