Datenbank Reparatur

 Keine Kommentare zu diesem Tutorial  |  Dieses Tutorial gilt für Magento Version 1.x

Das Magento Database Repair Tool vergleicht zwei Datenbanken und aktualisiert die Zieldatenbank, so dass es die gleiche Struktur wie die Referenzdatenbank hat indem Sie die folgenden Aktionen durchführt:

  • Fügt fehlende Tabellen ein oder repariert sie, um die gleiche Engine Type und Charset zu haben
  • Fügt fehlende Felder ein oder repariert sie
  • Entfernt inkonsistente Daten aus Tabellen, die Fremdschlüssel-Referenzen verletzt haben
  • Fügt fehlende Fremdschlüssel und Indizes hinzu

Ein typischer Anwendungsfall für das Magento Datenbank Reparatur Werkzeug ist die Datenbank einer bestehenden Magento-Installation zu reparieren, die einen der oben aufgeführten Fehler hat.

Schnell-Anleitung zur Magento Datenbank Reparatur

Installieren Sie die selbe Version von Magento in eine saubere neue Datenbank. Verwenden Sie diese neu angelegte Datenbank als Referenz (reference) und die beschädigte Datenbank als „corrupted“.

Hinweise und Vorbereitung der Magento Datenbank Reparatur

Warnung! Bevor Sie das Reparatur-Tool auf einer Produktivumgebung einsetzen, stellen Sie sicher das Sie es vorher auf einer Entwicklungsumgebung getestet haben. Vergewissern Sie sich ein Backup Ihrer ursprünglichen Datenbank erstellt zu haben, bevor Sie dieses Tool einsetzen!

Es ist auch dringend empfohlen den Zugriff auf Ihre Website zu beschränken, während der Reparatur der Datenbank. Nachfolgend geben wir ein Beispiel für die Beschränkung Ihrer Magento-Installation. Andere Besucher, darunter auch Suchmaschinen-Bots erhalten den HTTP-Fehler „503 Service Unavailable“.

Erstellen Sie eine Datei 503.php in Ihrem Magento-Installation Root-Verzeichnis.

In der Datei .htaccess oder in der Apache Server Konfiguration, fügen Sie folgende Regel hinzu:

ReWriteEngine On
ReWriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
ReSWriteRule !503.php$ /503.php [L]

Die IP-Adresse 127.0.0.1 ersetzen Sie mit Ihrer Adresse. Laden Sie diese Datei hoch und Ihr Shop ist nicht mehr erreichbar.

Schritt-für-Schritt Anleitung zur Datenbank Reparatur

  1. Laden Sie das Magento Datenbank Reparatur-Tool-Archiv von der Download-Seite runter:
    1. magento.com/tech-resources/download
    2. Aus unserem Download-Archiv
  2. Entpacken Sie das Archiv
  3. Laden Sie die Datei magento-db-repair-tool-1.x.php in einen beliebigen Ordner auf Ihrem Server
  4. Sichern Sie Ihre existierende Datenbank („database1“), um sie wiederherzustellen, falls irgendetwas schief geht
  5. Klonen Sie es als neue Datenbank auf dem gleichen Server. Nennen wir es z.B. „database2“. Notieren Sie sich die Zugangsdaten.
  6. Erstellen Sie eine leere Datenbank („database3“). Notieren Sie sich die Zugangsdaten.
  7. Entweder kopieren Sie Ihren gesamten Magento-Ordner (ohne Cache und Sessions) oder nehmen eine komplett neue Installation (achten Sie auf die Magento Version die Sie im Einsatz haben) und installieren es in „database3“.

An diesem Punkt sollten Sie den Klon der ursprünglichen Datenbank „database2“ und eine neue Datenbank „database3“ installiert haben.

Datenbank Reparatur ausführen

  1. Jetzt die URL aufrufen, in der das aus (3) hochgeladenen Skript liegt, z.B. http://www.beispiel.de/verzeichnispfad/magento-db-repair-tool-1.x.php.
  2. Geben Sie die Zugangsdaten zu „database2“ als „beschädigt/corrupted“-Datenbank und für „database3“ als „Referenz“-Datenbank an.
  3. Benennen Sie Tabellenpräfixe, falls gewünscht.
  4. Drücken Sie auf „Weiter“ und Sie werden den Ergebnis-Bildschirm sehen, wo erklärt wird was mit der „beschädigten“ Datenbank gemacht wurde.

Ergebnis der Datenbank Reparatur

Erläuterung des Berichts:

  • Wenn nichts geändert wurde, dann gibt es keine Notwendigkeit, Ihre Datenbank zu reparieren.
  • Nur charset Tabelle wurde geändert – in der Regel gibt es keine Notwendigkeit sich darum zu kümmern, besonders wenn diese Tabellen nicht über Text-Daten verfügen.
  • Wichtiges Thema: Datenbank-Engine wurde von MyISAM auf InnoDB geändert. Benötigt einen Entwickler für eine genauere Untersuchung.
  • Fehlendes (Fremdschlüssel-) Feld (oder sogar eine gesamte Tabelle!) – Fragen Sie einen Entwickler um Hilfe, hier ist dann etwas grundlegend schief gelaufen.

Wenn Sie wissen was Sie mit dem Datenbank-Reparatur-Bericht anfangen müssen und es ist notwendig Ihre Live-Datenbank („database1“) zu reparieren, können Sie entweder Ihre Installation auf die Datenbank „database2“ (weil diese eben repariert wurde) ändern oder führen Sie die Reparatur erneut direkt auf der Live-Datenbank aus.

Vergessen Sie nicht, die Datei magento-db-repair-tool-1.x.php zu entfernen und den Zugriff auf Ihre Webseite wiederherzustellen, wenn Sie fertig sind.

Autor

Sebastian

Ich interessiere mich für eCommerce-Themen, vor allem im Zusammenhang mit dem Shopsystem Magento Commerce sowie alles rund um Web-Entwicklung und den damit verbundenen Möglichkeiten.

Schreibe einen Kommentar

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

*