Wie kann ich aus einer Drop-Datenbank Befehl restore einen MySQL-Binärlog verwenden?
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.
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.