Das WordPress Tabellenpräfix manuell ändern

In diesem Artikel zeige ich euch, wie ihr das Tabellenpräfix bei WordPress manuell ändert. Dazu braucht ihr Zugriff auf die Datenbank mittels phpmyadmin.

Tabellenpräfix ändern?! Wieso?

Warum soll man das Präfix der WordPress Tabellen ändern?
Früher hat man das oft als Tip in Sicherheitstutorials gelesen. Die ganzen Bots und Toolkits haben immer nur auf die Standardtabellennamen geprüft. Also wp_user usw. Heute sind die Hackingmethoden weitaus komplexer und hinterhältiger und lassen sich durch solche Mätzchen nicht mehr abwehren. Schaden kann es dennoch nicht.
Der Hauptgrund für diese Änderung heute ist folgender: Wenn ihr mehrere WordPress Installation in ein und derselben Datenbank betreiben wollt, können die Tabellen nicht alle mit dem Standardpräfix wp_ beginnen.
Nun könnte man einwenden, dass die ganzen Billighoster mit Angeboten für unendliche Anzahl an Datenbanken, FTP Nutzern, Subdomains und ähnlichem locken – aber bei den Premiumanbietern sieht das je nach Tarif schon anders aus. Da kann man aufgrund verschiedener Einschränkungen und technischer Gegebenheiten nur 2 oder 5 Datenbanken nutzen.

Was müsst ihr tun?

Nehmen wir an, ihr habt bereits eine Standard-WordPress-Installation, wo alle Tabellen das Präfix wp_ vorangestellt haben. Das wollt ihr auf zum Beispiel wp123_ ändern. Es gibt im WordPress Backend leider keine Einstellungsmöglichkeit dafür und zu einem Plugin will ich an dieser Stelle nicht raten, weil ihr auch mal verstehen sollt, was da genau passiert.

Der erste Schritt: Die wp-config.php ändern

Es wird oft vergessen, dass in der Datei wp-config.php das gültige Tabellenpräfix gespeichert ist. Aus diesem Grund kümmern wir uns darum als Erstes: Datei herunterladen, bearbeiten und nach dem Abspeichern wieder hochladen. Was ihr beim Bearbeiten machen sollt: Ändert in der Zeile xxx wp_ zu wp123_

Der zweite Schritt: Tabellen umbenennen

Ruft die phpmyadmin Oberfläche auf. Über diese Software habt ihr Zugriff auf die Tabellen der jeweiligen Datenbank und könnt diese bearbeiten.
In der Standardansicht werden auch die Tabellen aufgelistet und ihr müsst diese über Alle auswählen markieren.

Tabellen markieren in phpmyadmin

Tabellen markieren in phpmyadmin

In derselben Zeile gibt es ein Auswahlfeld markierte:, in dem ihr Tabellenprefix ersetzen auswählt.

In phpmyadmin können auch Tabellenpräfixe ersetzt werden

Tabellenpräfixe ersetzen

Das bringt euch zu folgenden zwei Feldern:

Die alten Tabellenpräfixe durch das neue austauschen

So tauscht man Präfixe in einem Rutsch

Da tragt ihr analog zu unseren Beispielpräfixen dies hier ein (ja, mit Unterstrich) und danach Abschicken. Wenn ihr alles richtig gemacht habt, sind die Tabellen jetzt in einem Rutsch umbenannt worden.

Der dritte Schritt: In den Tabellen alte Präfixe suchen und aktualisieren

In zwei Tabellen (options und usermeta) werden von Haus aus Einträge gespeichert, die noch auf das alte Tabellenpräfix verweisen. Die müsst ihr anpassen.
In phpmyadmin in den Bereich SQL wechseln und als erstes nach den Einträgen in der options Tabelle suchen. Dazu gebt ihr diesen SQL Befehl dort ein und lasst ihn mit OK ausführen:

SELECT * FROM wp123_options WHERE option_name LIKE '%wp_%'

Per SQL Abfrage die Einträge mit Tabellenpräfix wp_ anzeigen lassen

SQL Abfrage auf die wp_options Tabelle

Diese Abfrage listet euch alle Einträge der Tabelle wp123_options auf, die noch Verweise auf das Tabellenpräfix wp_ haben. Zum Beispiel wp_user_roles.

Eintrag in phpmyadmin editieren

Eintrag editieren

Mit einem Klick auf das Bleistift-Editiersymbol gelangt ihr zur folgenden Ansicht, wo ihr das betreffende wp_ durch wp123_ ersetzt und durch OK abspeichert. Fertig.

in phpmyadmin Einträge manuell bearbeiten

Änderung per Hand

Im Normalfall ist bei einer frischen WordPress-Installation in der options Tabelle nur der Eintrag der wp_user_roles abzuändern. In der nächsten Tabelle usermeta ist es schon etwas mehr.

SELECT * FROM wp123_usermeta WHERE meta_key LIKE '%wp_%'

Einträge der usermeta-Tabelle in WordPress

Einträge der usermeta-Tabelle

Tauscht durch Bearbeiten in den aufgelisteten Einträgen nach und nach die Tabellenpräfixe aus. Standardmäßig dürfte es sich nur um diese Werte handeln:

  • wp_user_level
  • wp_capabilities
  • wp_dashboard_quick_press_last_post_id
  • wp_user-settings
  • wp_user-settings-time

Je nachdem, wieviele User bereits auf der Seite eingerichtet sind, kann das umfangreich werden – da diese Einträge für jeden User vorhanden sind.
Seid ihr aber damit durch, war es das aber.

Wozu ist der Spaß noch zu gebrauchen?

Einen großen Vorteil habe ich euch gleich zu Beginn genannt. Ich finde das Arbeiten mit individuellen Präfixen aber auch auf Datenbankebene übersichtlicher. Habe ich eine Datenbank, in der 10 verschiedene WordPress-Webseiten laufen, kann ich schon am vorangestellten Kürzel erkennen, welche Tabellen zu welcher Seite gehören. Wenn man das konsequent durchzieht (also z.B. portfolio_, meinblog_, shop_, garten_ …) trägt das alles zur Übersichtlichkeit bei und ich weiß sofort, dass ich Tabelle garten_options bearbeiten muss, wenn ich an der „Garten“-Seite etwas ändern muss.

2 Kommentare:

  1. Hallo,
    ich musste meine wp Seite neu aufsetzen. Nun habe ich user in 2 verschiedenen Ordnern (Präfix). wie kann ich diese zusammenführen?
    Ich verzweifle Dr Google kann ich nichts finden.
    Vielen Dank
    Manfred

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.