2008-09-17 8 views

Odpowiedz

8

Dokumentacja do kitu. Nawiązuje ona do możliwej do odzyskania DROP DATABASE, ale tylko w nieparzystych warunkach nie jestem zaznajomiony z http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

Według Docs, binlogy to po prostu sekwencja poleceń wykonywanych w oparciu o dany punkt odniesienia. Tak więc, kiedy robiłeś "DROP DATABASE", zamiast iść "Och, hes upuszczając bazę danych, powinniśmy teraz utworzyć kopię zapasową na wszelki wypadek" napisała tylko "DROP DATABASE" do ostatniego binlog. Odzyskiwanie nie jest tak proste, jak odtworzenie taśmy w tył.

Co należy zrobić, to odzyskać bazę danych z ostatniego znanego dobra i zastosować bin bloki, które miały miejsce między tym punktem odzyskiwania a poleceniem DROP.

http://dev.mysql.com/doc/refman/5.0/en/recovery-from-backups.html

Jak jeden określa, które binlogs używać Chciaż, niejasne.

Nie ma nic lepszego niż pełne kopie zapasowe systemu plików. I powinieneś przynajmniej mieć te, do których możesz wrócić.

5

Jeśli nie masz kopii zapasowej bazy danych, nie masz szczęścia. Upadek ing bazy danych jest trwały.

+1

Naprawdę? Myślałem, że kłody rejestrują wszystko. Czy możesz wyjaśnić nieco więcej? –

5

Zakładając, że utworzono kopię zapasową, dziennik binarny przechowuje dane, które miały miejsce od tej kopii zapasowej. Korzystanie z narzędzia mysqlbinlog mógłby zrobić coś takiego:

mysqlbinlog the_log_file> update.sql

Choć myślę, że trzeba edytować ten plik, aby usunąć wszystko, czego nie chcesz ponownie uruchomić (podobnie jak bazy danych rozwijanej komunikat).

Powodzenia!

+0

To jest naprawdę miłe! Wielkie dzięki za wskazanie tego. – Pitto

0

Bez kopii zapasowej bez udziału.

Więc ja odpowiem:

nigdy nie być w twojej sytuacji ponownie zainstalować ultra proste i ultra mocny automysqlbackup (jeśli jesteś na linux):

sudo apt-get install automysqlbackup

go skonfigurować:

sudo nano/etc/default/automysqlbackup

Następnie prześlij swoją zawartość automatycznie do Dro pbox, ubuntu jeden lub podobny.

Dopiero wtedy żyć szczęśliwie :)

0

Wystarczy uzupełnić odpowiedź Kent Fredric, można cofnąć komendę drop database jeśli używasz rejestrowanie binarne od chwili powstania bazy danych.

+0

To można dodać jako komentarz, a nie "answer" –

+0

Dzięki @MySQLRockstar, wiem, ale potrzebne jest co najmniej 50 powtórzeń, aby to zrobić: \ – melloc

Powiązane problemy