MariaDB – Rohe InnoDB-frm/ibd-Dateien importieren?

MariaDB – Rohe InnoDB-frm/ibd-Dateien importieren?

Guten Tag.

Auf meinem Debian 9-Server trat ein Problem auf, das den Zugriff auf das Betriebssystem unmöglich machte. Ich konnte zwar alle Rohdatenbankdateien (/var/lib/mysql) für mein Projekt extrahieren, aber leider war der Engine-Typ auf InnoDB eingestellt.

Besteht die Möglichkeit, die Datenbank irgendwie wiederherzustellen? Danke.

Antwort1

Wenn Sie das Ganze haben /var/lib/mysql, sollten Sie wahrscheinlich versuchen, den aktuellen Inhalt vollständig durch /var/lib/mysqlden vorhandenen Inhalt zu ersetzen.

Abhängig von Ihren MariaDB-/MySQL-Optionen sind einige oder alle InnoDB-Daten global und in den Dateien /var/lib/mysql/ibdata1, und gespeichert /var/lib/mysql/ib_logfile. Daher /var/lib/mysql/databasename/table*reicht es normalerweise nicht aus, nur die Dateien wiederherzustellen, um InnoDB-Daten wiederherzustellen.

Sie können den aktuellen Inhalt dieses Verzeichnisses vorübergehend an einen anderen Ort verschieben, wenn Sie es bereits wiederhergestellt oder verwendet haben. Oder noch besser: Starten Sie vorübergehend eine neue Maschine in einer VM oder etwas Ähnlichem, wo Sie die Wiederherstellung des gesamten /var/lib/mysqlVerzeichnisses testen können, ohne etwas zu unterbrechen.

Nachdem Sie Ihre alten Daten abgelegt haben, /var/lib/mysqlsollten Sie den Server starten und hoffentlich Ihre Daten extrahieren können. Je nachdem, wie stark Ihre Berechtigungen eingeschränkt waren, müssen Sie MariaDB möglicherweise mit den Optionen zum Umgehen von Berechtigungen starten. Ich würde das jedoch nicht weiter verwenden, sondern stattdessen vorschlagen, dass Sie an diesem Punkt mysqldump oder Ihre bevorzugten Tools verwenden, um die Datenbank zu sichern und sie dann erneut in Ihre Produktionsdatenbank zu importieren.

Stellen Sie beim Zurückverschieben sicher, dass das MySQL/MariaDB-Dienstkonto (normalerweise MySQL/MySQL) alle Dateien besitzt und Lese-/Schreibzugriff auf diese hat.

verwandte Informationen