Wie kann ich aus einer Drop-Datenbank Befehl restore einen MySQL-Binärlog verwenden?

StackOverflow https://stackoverflow.com/questions/88800

  •  01-07-2019
  •  | 
  •  

Frage

Wie kann ich eine MySQL-Datenbank wiederherstellen, die einen „Drop-Datenbank“ Befehl gelöscht wurde mit? Ich habe Zugang zu Binärlogs, die diese Art des Zurücksetzens möglich machen sollten.

War es hilfreich?

Lösung

Dokumentation saugt. Es spielt DATABASE ist werthaltig DROP, aber nur in ungeraden Bedingungen ich bin nicht vertraut mit http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

Nach Docs ist binlogs nur eine Folge von Befehlen, basierend auf einem bestimmten Referenzpunkt ausgeführt. So dass, wenn Sie „DROP DATABASE“ tun, statt zu dem letzten binlog „Oh, hes die Datenbank droppping, sollten wir sichern jetzt nur für den Fall“, schrieb sie lediglich ein „DROP DATABASE“. Recovery ist nicht so einfach wie das Band rückwärts zu spielen.

Was Sie tun müssen, ist die Datenbank von einer letzten als funktionierend bekannten gut erholen und die binlogs gelten, die zwischen das passiert Punkt und den Befehl DROP erholen.

http://dev.mysql.com/ doc / refman / 5.0 / de / Recovery-from-backups.html

Wie man bestimmt, welche binlogs tho zu verwenden, unklar.

Es gibt nichts besser als vollständige Dateisystemsicherungen mit. Und Sie sollten diese zumindest zurück zu fallen.

Andere Tipps

Wenn Sie nicht über eine Sicherungskopie der Datenbank haben, sind Sie kein Glück. Drop eine Datenbank ing ist dauerhaft.

Angenommen, Sie ein Backup haben, das Binärlog hält das Material, das seit dieser Sicherung passiert ist. das mysqlbinlog Dienstprogramm Sie so etwas wie tun könnte:

mysqlbinlog the_log_file> update.sql

Obwohl ich glaube, Sie könnten diese Datei bearbeiten müssen, um irgendetwas entfernen Sie wollten nicht wieder ausführen (wie die drop database-Anweisung).

Viel Glück!

Keine Sicherung keine Partei.

So werde ich antworten:

Um nie wieder in Ihrer Situation, die extrem einfach installieren und extrem leistungsstarke automysqlbackup (wenn Sie auf Linux sind):

sudo apt-get install automysqlbackup

konfigurieren:

sudo nano / etc / default / automysqlbackup

Dann laden Sie seinen Inhalt automatisch auf Dropbox, ubuntu ein oder ähnliches.

Erst dann leben glücklich:)

Just Kent Fredric Antwort zu ergänzen, können Sie den Befehl drop database Rollback, wenn Sie seit der Datenbank der Erstellung Binärlogging verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top