IT-MÜCKE

Drupal-Problem mit der mysql-Datenbank: Fehler schnell beseitigen

24.05.2012

Beim Update einer Drupal-Webseite auf die aktuelle 6er-Version unterlief mir ein kleiner Fehler mit großer Wirkung:
ich kopierte ein Verzeichnis falsch und hatte - ohne es zu bemerken - auf der produktiven Webseite plötzlich eine Verzeichnisebene mehr. Anstelle von:
[pfad]/modules/
hatte ich zusätzlich
[pfad]/modules/modules/
erzeugt.

Beim Drupal-Update wurden nun schlagartig zahlreiche Datenbankeinträge entsprechend auf die neue zusätzliche Ebene umgebaut. Bei der Fehlersuche und den Behebungsversuchen löschte ich die verhunsten Daten im Dateisystem und ersetzte sie durch die davor angelegte Sicherheitskopie. Darin fehlte natürlich die zusätzliche Verzeichnisebene - die Pfade in der Datenbank stimmten nicht mehr.

Über phpMyAdmin suchte ich nach den fehlerhaften Einträgen und ersetzte alle falschen Pfade durch die richtigen.

Vorgehensweise (siehe Screenshots):

  • phpMyAdmin öffnen
  • Datenbank anklicken
  • „Suche“ anklicken
    • Suchtext eingeben: „modules/modules“ (ohne Anführungszeichen)
    • „Alle auswählen“ bei Tabellen anklicken
    • „OK“ klicken
  • In den Suchergebnissen die Tabellennamen merken
  • Auf „Anzeigen“ klicken
    • In der Tabellenansicht nach dem Suchtext suchen - merken, welchen Name/welche Bezeichnung die entsprechende Zeile/Spalte hat
  • „SQL“-Tab anklicken
    • SQL-Kommando eingeben
    • „OK“ klicken
  • Alle Schritte wiederholen, bis alle falschen Einträge korrigiert sind

Das SQL-Kommando ist wie folgt aufgebaut:

UPDATE [tabellenname] SET [bezeichnung] = replace([bezeichnung], '[suchtext]', '[ersatztext]')\\
also im Beispiel:\\
UPDATE menu_router SET file = replace(file, 'modules/modules/', 'modules/')

phpMyAdmin

phpMyAdmin

phpMyAdmin

phpMyAdmin

Danach konnte ich die Drupal-Seite updaten und sie funktionierte wieder.


zurück

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information