Open Source | Content Management | Redaktion

WordPress: Live-Datenbank auf lokales System einspielen

Wordpress Logo

Wordpress

Eigentlich wollte ich nur die Datenbank des Live-Systems dieses Blogs auf meiner lokalen XAMPP-Installation einspielen, um lokal daran rumzuwerkeln, statt in aller Öffentlichkeit mein Blog zu überarbeiten. Sozusagen eine Bastelstunde mit echten Daten ohne den Patienten zu gefährden. Eigentlich ist das auch kein größeres Problem, vollständige Backups hat man sowieso (hat man doch, oder?) oder sind schnell gemacht und ein XAMPP ist wenn es ihn noch nicht gibt, ebenso schnell aufgesetzt. Da aus einem gedankenlosen „eigentlich ganz schnell gemacht“ schnell ein „eigentlich dauert so eine Fehlersuche viel zu lang“ wird, hier eine Notiz an mich, worauf ich beim nächsten Mal besser achten sollte:

  • Backup im phpmyadmin mit „DROP TABLE / DROP VIEW“ durchführen. Versteht sich eigentlich von selbst, vergisst man aber gerne mal
  • Falls es Unterschiede der Datenbanknamen Livesystem vs. lokales System geben sollte: Anpassen in WordPress wp-config.php
  • Ist das Tabellenpräfix gleich? Wird in der Regel manuell beim Install von WordPress geändert -> wp-config.php
  • Im Livesystem ist natürlich die URL der Seite in den Optionen hinterlegt. Das kann zu einer Endlosschleife führen, wenn man die Live-Datenbank ohne Änderungen in das lokale System kopiert bzw die Datenbank überschreibt. Dann kommt man nichtmal mehr ins Backend der lokalen Installation. Schnelle Abhilfe schafft das Ändern des Werts der SiteURL (option_name) in der Tabelle wp_options der Datenbank auf in der Regel http://127.0.01/PfadzurlokalenInstallation. Das kann man am besten sofort machen, wenn man im phpmyadmin sowieso gerade die aktuelle Datenbank importiert hat.
  • In der Live-Datenbank ist auch der Verweis auf das aktuell genutzte Theme hinterlegt. Dieses Theme muss natürlich auch in der lokalen Installation vorhanden sein. Dann klappt’s auch mit dem Frontend
  • Sollte es Probleme beim Aufruf einzelner Artikel geben, kann es helfen, die Permalinkstruktur der lokalen Installation zu ändern. Dazu einfach im WP Backend die Standard Page-ID als Linkstruktur angeben, statt sprechender URLs. Lediglich die in Artikeln verwendeten internen Verlinkungen, die auf sprechende URLs verweisen könnten dann nicht mehr funktionieren.

Das hört sich vielleicht erstmal nach viel Aufwand an, ist aber eigentlich recht schnell gemacht, zumal fast alle Punkte nur beim ersten Anlegen der lokalen Kopie anfallen. Ziel des Ganzen ist es vor allem grafische Änderungen/Umbauten/Erweiterungen unter realistischeren Bedingungen, d.h. mit echten Inhalten, zu testen und dabei nicht am Live-System rumschrauben zu müssen. Es ist ausdrücklich nicht dazu gedacht, die lokalen Einstellungen bzw die Datenbank wieder zurück ins Live-System zu spielen oder um neue Inhalte zu verfassen.

Zurück

Content Management ohne Datenbank: Drei CMS für kleine Webseiten

Nächster Beitrag

Links: Googles Python Anfängerkurs, Firefox 4 Visualisierungen, Data Science Toolkit, RSS Tuning, McLuhan

  1. Sandra

    Hallo Tobias,
    der Fehler lag an der php.ini memory_limit.

    Aber meine XAMPP Installation scheint generell ein Problem zu haben.

    Das Einspielen incl. der Korrekturen in wp_options klappt wunderbar. Der Blog ist auch unter localhost sichtbar, aber im Dashboard sehe ich keine Posts und keine Pages.

    Keine Ahnung, woran das liegen könnte.

    Testweise habe ich den Live Blog mal auf eine meiner anderen Domains importiert und es hat perfekt geklappt und auch alle Posts und Pages waren zu sehen und editierbar. Also definitiv ein XAMPP Problem.

    Trotzdem Danke für Deine Zeit 🙂

    VG
    Sandra

    • Hallo Sandra,
      stimmt, das Memory Limit hatte ich in dem Moment als ich meine Antwort schrieb nur irgendwie übersehen. 🙂

      zu XAMPP: Hast du mal versucht XAMPP neu aufzusetzen? Ansonsten ist es wie gesagt schwierig mit der Ferndiagnose. Vielleicht sind bei deiner XAMPP Installation nur ein paar Grundeinstellungen anders als bei deinem Hoster, ein paar php Einstellungen anders usw… Falls du noch weiter auf Fehlersuche gehst, würd’s mich interessieren woran’s liegt/lag. Wenn du Lust hast, schick doch dann nochmal einen Kommentar.
      Gruß
      Tobias

      • Sandra

        Keine Chance 🙁

        Ich habe xampp in der neuesten Version neu installiert. Meine eigene Seite läuft wunderbar lokal incl. Datenbankzugriff.

        Nur den Blog bekomme ich nicht hin. Die Login-Seite erreiche ich noch, danach nur noch blank 🙁

        Ich gebe das jetzt auf, es ist einfach unmöglich für mich. Ziemlich frustrierend 🙁

        VG
        Sandra

  2. Sandra

    Hallo Tobias,

    ich quäle mich genau mit dem Thema herum gerade 🙁

    Wie sind Deine Schritte?

    Nimmst Du eine leere Datenbank und lässt per Backup Scriptdie Tabellen via SQL erstellen und mit den Live Daten füllen?

    Das führt bei mir zu diesem Fehler beim Aufruf localhost/blog/wp-admin:
    Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 65536 bytes) in G:\path\blog\wp-includes\functions.php on line 1028

    Das macht mich noch wahnsinnig 🙁

    Danke für jede Info oder Hilfe,
    Sandra

    • Hallo Sandra,
      also eigentlich hab ich alle wichtigen Schritte schon oben beschrieben. Export via phpmyadmin (oder auch via WP Plugin). Import dann auch einfach wieder über phpmyadmin und wenn man gerade dort ist, kann man auch schon die anderen Änderungen vornehmen.
      Ich kenne deine WP Installation nicht oder in wie weit du Anpassungen vorgenommen hast. Daher ist es schwierig was zu deinem Fehler zu sagen. Auffallend ist die Dateigröße, weshalb der Import abbricht. Du kannst mal versuchen den Export zu verkleinern (z.B. Revisions-Tabellen rauslassen) und dann zu importieren. Sonst gibt es auch Tools, die dir große Tabellen beim export splitten und anschließend wieder importieren. Ich glaube zB MySQLDumper kann das.
      Hoffe das hilft erstmal weiter,
      Gruß
      Tobias

Schreibe einen Kommentar

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

Präsentiert von WordPress & Theme erstellt von Anders Norén