SUGESTIA # 1
Jeśli wykonujesz kopie zapasowe wystąpienia MySQL, najlepiej jest skonfigurować MySQL Replicaton, aby jakiekolwiek obciążenie serwera lub zwiększenie ilości operacji we / wy dysku nie wpłynęło na produkcyjną bazę danych w jakikolwiek sposób.
Po skonfigurowaniu replikacji MySQL możesz napisać skrypt mysqldump na różne sposoby ( zobacz mój post na DBA StackExchange dla różnych technik ), pod warunkiem, że uruchamiasz te mysqldumps na Slave.
SUGESTIA # 2
Jeśli nie możesz skonfigurować innego serwera do replikacji MySQL, a wszystkie twoje dane to InnoDB, będziesz musiał wykonać mysqldump w określonym momencie. Odbywa się to za pomocą--single-transaction
opcji z mysqldump. Dlatego jeśli uruchomiono mysqldump od północy, a tworzenie kopii zapasowej zakończyło się o 00:15, dane wyjściowe mysqldump po przywróceniu odzwierciedlają dane od godziny 12:00.
SUGESTIA # 3
Innym programem dostępnym dla kopii zapasowych MySQL jest XtraBackup od Percona.
XtraBackup to kompleksowe narzędzie, które zachowuje się jak rsync, ale ma cel w życiu. Można rozpocząć kopiowanie wszystkich danych i obszarów tabel InnoDB. Ma możliwość wewnętrznego tworzenia punktów kontrolnych i wykonywania odzyskiwania po awarii w miejscu InnoDB, aby uzyskać idealną kopię zapasową w czasie. XtraBackup posiada również dodatkową funkcję, która pozwala na tworzenie przyrostowych kopii zapasowych. Kolejną dodatkową funkcją jest tworzenie plików dziennika InnoDB, również zbudowanych przez lokalne odzyskiwanie po awarii. Istnieje również oprogramowanie do owijania, które umożliwia również zamrożone kopiowanie tabel MyISAM.
Wykonuje kopię zapasową instancji MySQL, ale z wyraźną różnicą. Moment wykonania kopii zapasowej zależy od tego, kiedy kopia zapasowa została ukończona, a nie od momentu jej uruchomienia. Zatem jeśli uruchomiłeś XtraBackup od północy, a tworzenie kopii zapasowej zakończyło się o 00:15, dane wyjściowe mysqldump po przywróceniu odzwierciedlają dane od godziny 12:15.