≡ Menu

[:de]Gelöschte (drop table) WordPress Datenbank wiederherstellen[:en]Recover deleted (drop table) wordpress database[:]

[:de]Gestern abend war es soweit: Tief versunken in Adminarbeit mit Plesk auf meinem VPS „mal schnell“ bei einer Domain das „legacy SSL“ Häkchen weggeklickt und gespeichert.

Plesk führt den Vorgang aus ohne Rückfrage und ohne Sicherheitsnetz und dann war die Datenbank meiner Domain weg. Futsch. Einfach im Nirwana verschwunden. Die Seite war natürlich damit hinüber: „No Database“ vor weissem Hintergrund… Blöd.

Das VPS läuft auf Ubuntu 14.04 und verwendet Plesk 12.5, also alles auf dem neuesten Stand und das System läuft als Produktiv-Maschine mit ca. 20 anderen Domains, alle auf WP.

Leider hatte ich bei dieser Domain übersehen, dass die wp-Installation – und natürlich auch die MySQL Datenbank von Plesk verwaltet wird. Ein dummer Fehler, der mir sicher nicht mehr passieren wird.

Stellt sich also die Frage: Wie stellt man eine WordPress Datenbank wieder her, wenn man keine DB-Backups hat? Ausserdem sollen ja alle anderen Domains ungestört weiterarbeiten, während sozusagen hinter den Kulissen die Reparaturen für die zerschossene Domain laufen.

Die Google-Recherche fördert keine vernünftigen Lösungen zutage; passiert mir sowas wirklich als einzigem? oder traut sich sonst keiner mit Fragen in die Foren zu posten?

Zum Glück gibts die freundlichen Fachleute vom Hosteurope-Support und mit deren kompetenter Anleitung hat es dann auch geklappt:

  • Mein VPS macht tagesaktuelle Backups – gottseidank :-), daraus hab ich erst mal die komplette MySQL Datenbank in ein temp-Verzeichnis extrahiert und dann auf meine lokale Maschine runtergeladen.
  • Auf der lokalen Maschine dann MySQL Server installiert – gleiche Version wie auf dem VPS (!) und nachdem der lief, erst mal wieder gestoppt und ihm im Datenverzeichnis die MySQL Datenbank vom Server-Backup untergejubelt. Hier mussten erst die passenden Zugriffsrechte und Benutzer gesetzt werden, dann lief der lokale Server mit den MySQL Datenbanken vom Server – Stand gestern Mittag.
  • Nächster Schritt: mit mysqldump die passende Tabelle als SQL Datei exportieren. Jedoch leichter gesagt als getan: Aus irgendeinem Grund ist die Hälfte der Tabellen nicht greifbar und es gibt nur ein lapidares „Table not found“. Nachdem diese von der Bezeichnung her einem bestimmten Plugin zuzuordnen waren, hab ich einfach die zugehörigen Dateien gelöscht – das Plugin kann man ja anschliessend wieder neu installieren…
  • Jetzt klappt der dump und damit habe ich nun endlich die Daten als SQL wieder – uff… Jetzt nur noch schnell einspielen mit phpMyAdmin, dazu vorher noch …
  • in Plesk die Datenbank neu anlegen – mit dem alten Datenbank-Namen, und auch mit dem gleichen Benutzernamen und Passwort, sonst gibts gleich die nächsten Probleme…
  • Und jetzt kann die SQL-Datei in die neue Datenbank importiert werden. Fertig.

Kurzer Test: Die Seite ist wieder da – alles läuft einwandfrei…

Und zum Schluss noch ein paar Aufräumarbeiten – das Plugin muss ja erst deinstalliert und dann wieder installiert werden. Das wars.

Klingt so einfach, wenn mans hinter sich hat…[:en]Last night Murphy visited me again. Deeply in the flow in Plesk-admin on my VPS I klicked the „legacy SSL“ checkbox and then Save.

Plesk immediately performs this without confirmation and safety net and then the wordpress database for this domain was gone. As in GONE completely. Just not there anymore and consequently my domain said: „Error. No Database.“ on a white background… WTF…

This is a productive VPS with Ubuntu 14.04 and Plesk 12.5, so everything is current, not any old outdated box in a corner. And there are about 20 other domains running smoothly on wordpress, too…

Unfortunately for this domain I had overlooked that the wordpress installation and hence the database is managed by Plesk. Stupid mistake that. One that won’t happen again…

So now there is the question: How do you recover a lost wordpress database if you don’t have any database backups available. On top of that, the other 20 domains should continue to run uninterrupted, so the repairs have to be done „behind the curtain“…

Google does not bring up any solid solutions; am I the only one to whom this has happened? Or is everyone else in the know and does not need to post any questions to the expert forums?

I am lucky to have one friendly server support person who gives me some competent guidelines which help me solve this problem:

  • My VPS is doing daily backups in the background – heaven thanks. So I can use one of those to extract the complete MySQL server database files to a temp directory on my server and then download them to my local machine.
  • On my local machine I then installed a MySQL server (the same version as on the VPS) and after confirming that it works ok, stopped it again and replaced the database files with the downloaded files from my VPS. After fixing user rights and access privileges the local server is running with yesterdays server MySQL data.
  • Next step: use mysqldump to export the wordpress database that is so urgently needed. Except that there’s another curveball arriving: Somehow half of the database tables are unaccessible with a „table not found“ error. After confirming that those all belong to one specific plugin, I just plain delet them in the filesystem. The plugin could certainly be reinstalled later on.
  • Finally there is my database in the form of an SQL-file… phew. Only remaining thing is reimporting the data using phpMyAdmin.
  • But first create a new database in Plesk for this domain – make sure to use the old database name, database user name and password – otherwise you are in for another round of troubles ahead…
  • Finally phpMyAdmin imports the SQL file – smooth sailing…
The domain is now all back up and running fine – confirmed this with a quick check.
Finishing up with a few clean-up tasks: uninstall and reinstall that plugin so that the corrupted tables will be created new. Thats it.
Sounds so easy once the job is successfully done…

[:]

{ 0 comments… add one }

Leave a Comment