Fehlerhafte MySQL Datenbank und Benutzer unter Plesk 17.x löschen

Systemüberblick: Strato Server Plesk Onyx Version 17.5.3 Update #54, Root Server Linux 64, BS Ubuntu 16.04.5 LTS

Plesks und Gottes Wege sind unergründlich: Wieder einmal bescherte Plesk einen „spannenden“ Arbeitstag. Die Gedanken- und Arbeitswege dokumentiere ich zwecks allfälliger künftiger Wiederholungen.
Seit Wochen beschäftigt mich ein (Gesamt)-Backup-Fehler meines Servers. Das Backup wird über eine Planung jeden Morgen ausgeführt. Mal werden die Backups fehlerfrei durchgeführt, ein anderes Mal nicht, obwohl sich an der Serverkonfiguration oder den Inhalten in derselben Zeitspanne nichts geändert hat. In der Logdatei der Fehlermeldungen tauchte eine Domainangabe meines alten Providers in Verbindung mit einer Fehlermeldung auf, vermutlich wurden durch die Datenmigration bestimmte Stellen innerhalb der Datenbanken nicht geändert.

Encoding::encode: source UTF-8 encoding declared, but invalid UTF-8 sequence occured. Falling back to ISO-8859-1

Insbesondere tauchte die gleiche Hauptdomain des alten Providers in den Tabelle „wp_options“ aller WordPress-Installationen auf. Wie sich später herausstellte, war ein Datenbankzugriff defekt. Auch wenn die Sache durch Neuanlage einer Datenbank gelöst werden kann, verweigern bestimmte Funktionen wie z. B. das genannte Gesamtbackup oder auch Updates bei fehlender Entfernung der korrupten Datenbank ihren Dienst.

Unter Tools & Einstellungen >> Anwendungen & Datenbanken >> Datenbankserver >> MySQL / localhost kann durch Klick auf localhost auf die jeweiligen Datenbanken des lokalen MySQL-Servers über die Reiterkarten Datenbanken zugegriffen werden. Der Link Hosting verwalten führt zu den jeweiligen Datenbankverwaltungen für die zugeordneten Domains. Über phpMyAdmin kann dann auf die Datenbanken Zugriff genommen werden. Dabei stellte ich fest, dass sich eine Datenbank nicht mehr öffnen ließ, obwohl der Zugriff von WordPress aus immer noch funktionierte.
Die Datenbank ließ sich ebenso wenig (in neuer oder bestehender Datenbank) kopieren oder löschen (Achtung: vorher Backup anlegen).

Ein Test mit einer anderen funktionierenden Datenbank zeigte, dass der Austausch des alten Hauptdomainnamens „mydomain_alt.de“ gegen „mydomain_neu.de“ (2 Einträge) in der Tabelle „wp_options“ von WordPress nur dazu führte, dass der gesamte Blog nicht mehr funktionierte (weiße Seite, kein Zugriff). Auch dieser Weg war nicht der richtige.

Die Datenbank wurde nun mit samt neuem Benutzernamen neu angelegt. Der alte Benutzername war blockiert, da sich die fehlerhafte Datenbank nicht löschen ließ (normalerweise löscht Plesk auch den Benutzernamen, wenn die Datenbank entfernt wird). Nun schnell noch einmal WordPress provisorisch neu angelegt und grundkonfiguriert, anschließend das Datenbank-Backup neu eingespielt. Ich verwende UpdraftPlus Sicherungen. Die Wiederherstellung hat wenige Sekunden gedauert und wurde fehlerfrei durchgeführt. Alle Inhalte waren wieder da und die (neue) Datenbank ließ sich zum Glück öffnen.

Das Problem der alten Datenbank bestand jedoch immer noch. Erneut unter Tools & Einstellungen >> Anwendungen & Datenbanken >> Datenbankserver >> MySQL / localhost kann via DB Webadmin (kleines Werkzeugsymbol am rechten Rand) auf diesen Server zugegriffen werden. Diesmal öffnet sich der gesamte localhost. Auf der linken Seite gibt es über phpMyAdmin Zugriff auf alle angelegten Datenbanken. Leider ließ sich auch hierüber die entsprechende Datenbank nicht öffnen (Fehlermeldung: plesk MySQL meldet: Dokumentation Die Verbindung konnte aufgrund von ungültigen Einstellungen nicht hergestellt werden.). Die Idee, die alten Tabellen aus der Datenbank zu löschen und durch eine Kopie der wiederhergestellten Tabellen zu ersetzen war dadurch nicht durchführbar.

Eine Recherche, den richtigen Unix-Befehl auszuführen, um die entsprechende Datenbank über SSH-Konsole zu finden und zu löschen, war nicht erfolgreich.
Eine Googlesuche brachte mich auf die Plesk Support-Seiten How to access Plesk database und A database and its user cannot be deleted: Used by installed web app . Die dort aufgeführten Lösungswege brachten jedoch keinen Erfolg.

Folgende Schritte waren bei geöffnetem localhost unter phpMyAdmin erfolgreich:

/ Erstellen einer Sicherung der Datenbank "localhost (Reiterkarte "Exportieren")"
/ Erstellen einer Sicherung der Datenbank "psa"
/ Erstellen einer Sicherung der Tabellen "data_bases" und "db_users"
/ In der Datenbank "psa" die Tabelle "data_bases" öffnen und den Eintrag (ganze Zeile) "MySQL_DB_Name" (Feld "Name") löschen
/ In der Datenbank "psa" die Tabelle "db_users" öffnen und den Eintrag (ganze Zeile) "username" (Feld "login") löschen

Nach Löschung der Einträge ist in Plesk sowohl die entsprechende Datenbank und in der Benutzerverwaltung der entsprechende Benutzername verschwunden.

Die ganze Aktion hat 8 Stunden bester Freizeit verbraucht. Trotzdem ist es ein schönes Gefühl, wenn das Problem beseitigt ist und der Server wieder reibungslos flutscht… bis zum nächsten Mal…

Schreibe einen Kommentar

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