Bei meinem Serverumzug sollte ja auch meine vorhandene WordPress-Installation mitnehmen. Wichtig ist, dass man nicht nur die PHP- und HTML-Dateien der Installation mitnimmt sondern auch die MySQL-Datenbank.

Die normalen Dateien lassen sich ja recht leicht sichern. Wenn man möchte kann man sie zuerst noch Packen um den Speicherplatzbedarf zu reduzieren. Dann kann man entweder das Archiv oder die ganzen Dateien einzeln per FTP auf die lokale Festplatte transferieren.

An die MySQL-Datenbank kommt man so einfach nicht ran.

Vorbereitung

Um Problemen beim Umzug vorzubeugen empfehle ich alle Plugins zu deaktivieren und das Design vorerst auf das Standarddesign umzustellen. Ebenso sollte bei einem Domainwechsel die neue Domain eingestellt werden bevor der Transfer stattfindet.
Ich werde hier jedoch auf die Probleme eingehen, da ich unwissend zuerst auch nicht darauf geachtet habe.

Meine Anleitung setzt phpMyAdmin vorraus, für andere Methoden kann ich keinerlei Aussagen treffen.

Datenbanksicherung

Nach dem Einloggen in phpMyAdmin befindet man sich in einer Übersicht der vorhandenen Datenbanken. Dort wählt man dann die WordPress-Datenbank aus.

Danach wählt man Export (Exportieren) oben aus den Reitern aus. Jetzt müssen alle Tabellen, die mit wp_ oder dem selbst gewählten Präfix anfangen ausgewählt werden. Wenn man eine Datenbank speziell für WordPress verwendet kann man einfach alles auswählen.

Als Exportformat wählt man SQL.
Unter Structure (Struktur) wählt man die Punkte:

  • Add DROP TABLE (Füge DROP TABLE … hinzu)
  • Add AUTO_INCREMENT value (AUTO_INCREMENT-Wert hinzufügen)
  • Enclose table and field names with backquotes (Tabellen- und Feldnamen in einfachen Anführungszeichen)

Unter Data (Daten):

  • Complete inserts (Vollständige ‚INSERT’s)
  • Use hexadecimal for binary fields (Benutze hexadecimal für BLOB)
  • Export type: INSERT (Exporttyp: INSERT)

Dann noch Save as File (Senden):

  • File name template: (Dateinamenskonvention) __DB__
  • remember template (Konvention merken)
  • Eine Kompression wenn man wünscht

So sollte das dann etwa aussehen:

Mit einem Klick auf Go (OK) startet man das Backup und speichert die Datei auf dem Rechner.

Umzug – wieder einspielen

Nachdem man auf seinem Server phpMyAdmin wieder eingerichtet hat und man soweit alles konfiguriert hat kann man sich an das Zurückspielen der Sicherung machen. Die HTTP-Dateien lädt man einfach wieder in das Verzeichnis auf den Server zurück.

Die Datenbank spielt man mit phpMyAdmin wieder auf den Server.

Erster Schritt – Datenbank zurückspielen

Zuerst legen wir eine neue Datenbank an (sofern möglich, ansonsten muss man in eine bestehende Datenbank importieren). Das ist unter dem Reiter Datenbanken möglich.
Als Name trägt man beispielsweise wordpress ein.
Der Typ ist Kollation.

Danach befindet man sich in der frisch angelegten Datenbank. Jetzt kann man die alten Daten wieder importieren. Dazu wählt man den Reiter Importieren aus.

Man wählt also die Datenbanksicherung aus und drückt auf OK. Dann wird die Datei hochgeladen und man bekommt eine Meldung, dass der Import erfolgreich vonstatten ging. Nichts leichter als das.

Zweiter Schritt – Benutzer anlegen

Dann legen wir einen Benutzer an der nur für WordPress verwendet wird. Das geht unter dem globalen Reiter Rechte, dazu muss man zuerst wieder aus der Datenbankansicht zur Grundansicht gelangen, was über das kleine Häuschen in der Menüleiste links geschieht. Dort befindet sich ein Link Neuen Benutzer hinzufügen.
Dann füllt man den Benutzernamen ein (z.B. wp_user)
Host ist in meinem Fall Lokal (also localhost)
Dann noch ein Passwort welches man gleich wiederholen darf.

Globale Rechte bekommt der Benutzer keine und auch keine Extradatenbank, die hat man ja schon angelegt.
Mit OK legt man den neuen Benutzer an.

Jetzt benötigt unser WordPressbenutzer noch Zugriff auf die Datenbank.

In der neuen Ansicht kann man unter Datenbankspezifische Rechte nun Rechte für einzelne Datenbanken vergeben. Dort kann man aus der Dropdown-Liste die oben angelegte Datenbank auswählen.

Dann kommt man in ein Menü in dem man die Rechte auswählen kann, die der Benutzer bekommen soll. Hier wählt man einfach alles aus, außer Grant.

Damit ist die Einrichtung eigentlich beendet.

Was natürlich wichtig ist, dass in der wp-config.php die Einstellungen zu Benutzer und Datenbank korrekt eingestellt sind. Aber diese Anpassungen sind ja kein Hexenwerk.

Umzugsprobleme

Wer (so wie ich) die Plugins nicht ausgeschaltet hat, den möglicherweise neuen Domainnamen nicht eingetragen hat bevor er die Datenbank gesichert hat, darf nun ein paar lustige Dinge in der Datenbank ändern.

Zumindest ich stand nach meinem „erfolgreichen“ Umzug vor einer weißen Webseite, kein Fehler und auch sonst keine Regung.

Versichert euch, dass ihr noch die Sicherung besitzt bevor ihr manuelle Änderungen vornehmt!

Also los, in phpMyAdmin wechselt man zur WordPress-Datenbank. Man erhält links eine Übersicht über die Tabellen die in der Datenbank enthalten sind.

Wir wählen die Tabelle wp-options.

Dort suchen wir folgende Einträge (nach option_name) und ändern sie entsprechend ab (den Stift am Anfang der Zeile anklicken und option_value ändern):
siteurl -> neue Domain
active_plugins -> alles rauslöschen, dann sind keine Plugins mehr aktiv
home -> neue Domain

Wenn die Seite jetzt funktioniert ist schonmal gut. Jetzt kann man schrittweise die Plugins wieder reaktivieren. Wenn man dann wieder vor einer weißen Seite steht hat man schonmal das Problem lokalisiert.

Bei mir war das Problem, dass die Plugins zuviel Speicher benötigt haben und PHP daher seinen Dienst verweigerte. Daher musste ich das Speicherlimit von PHP erhöhen, das geht nicht über phpMyAdmin sondern über eine Einstellung in der PHP-Konfigurationsdatei.

Wenn wir uns am Server über SSH angemeldet haben editieren wie die /etc/php5/apache2/php.ini. Dort gibt es irgendwo memory_limit = welches man dann eben erhöhen muss. Auf beispielsweise 128M (egaByte). Danach kann man dann schrittweise wieder die Plugins aktivieren, dann sollte hoffentlich wieder alles so sein wie zuvor.

Wenn nicht, nun dann muss man eventuell nochmal nach anderen Quellen suchen, leider war meine Suche in dieser Hinsicht nicht sehr erfolgreich…