Jak mogę przywrócić bazę danych mysql, która została upuszczona za pomocą polecenia "drop database"? Mam dostęp do dzienników binarnych, które powinny umożliwić ten typ wycofywania.Jak mogę przywrócić z komendy drop database przy użyciu dziennika binarnego mysql?
Odpowiedz
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ć.
Jeśli nie masz kopii zapasowej bazy danych, nie masz szczęścia. Upadek ing bazy danych jest trwały.
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!
To jest naprawdę miłe! Wielkie dzięki za wskazanie tego. – Pitto
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 :)
Wystarczy uzupełnić odpowiedź Kent Fredric, można cofnąć komendę drop database
jeśli używasz rejestrowanie binarne od chwili powstania bazy danych.
To można dodać jako komentarz, a nie "answer" –
Dzięki @MySQLRockstar, wiem, ale potrzebne jest co najmniej 50 powtórzeń, aby to zrobić: \ – melloc
- 1. "drop database" mysql wymaga czasu - dlaczego?
- 2. DROP DATABASE ulega awarii
- 3. Czy utrzymuję uprawnienia CREATE po DROP DATABASE w MySQL?
- 4. Ostrzeżenie: Niebezpieczne pisemne oświadczenie do dziennika binarnego przy użyciu formatu sprawozdania od BINLOG_FORMAT = OŚWIADCZENIE
- 5. Sqlite Database Browser crahses - jak przywrócić DB z plikiem kroniki
- 6. Jak używać dziennika toczenia przy użyciu log4c?
- 7. Czy mogę użyć komendy cofania komendy execCommand, aby cofnąć akcje, które nie zostały wykonane przy użyciu komendy execCommand?
- 8. Implementacja drzewa binarnego przy użyciu Swift enum
- 9. C# - Zapisywanie dziennika przy użyciu pola tekstowego
- 10. Database kłopoty w Django: nie można przywrócić ze względu na zależności
- 11. Czytanie pliku binarnego z Dysku Google przy użyciu pliku node.js
- 12. MYSQL: Aby zabić proces przy użyciu sys_exec()
- 13. Transakcja wycofania przy użyciu dziennika transakcji
- 14. Drag & Drop z Ember.js
- 15. Jak mogę włączyć protokół powolnego dziennika MySQL na moim serwerze?
- 16. Jak mogę przywrócić katalog usunięty z CVS po wprowadzeniu zmiany?
- 17. Błąd Mysql 1236 od wzorca podczas odczytu danych z dziennika binarnego
- 18. Jak grupować ciągłe zakresy przy użyciu MySQL
- 19. Odczytaj z pliku dziennika zapisanego przy użyciu pythona
- 20. Jak mogę sprawdzić pliki dziennika Drupal?
- 21. Jak obliczyć średnią ruchomą przy użyciu MySQL?
- 22. Jak przywrócić okno z Xlib?
- 23. Jak zaimplementować automatyczną archiwizację pliku dziennika przy użyciu Log4Net
- 24. Powolne DROP tabeli tymczasowej
- 25. Jak połączyć się ze zdalnym serwerem MySQL przy użyciu C#?
- 26. Wstawianie obrazu w celu Database przy użyciu SQLite w xcode4.6
- 27. W Oracle, jak mogę przywrócić tabelę, którą przypadkowo upuściłem?
- 28. Jak śledzić zapytania MySql przy użyciu MySql-Proxy?
- 29. Jak mogę uwzględnić SessionID w plikach dziennika przy użyciu log4net w ASP.NET?
- 30. Jak przywrócić z kopii zapasowej mercurial
Naprawdę? Myślałem, że kłody rejestrują wszystko. Czy możesz wyjaśnić nieco więcej? –