ПРЕДЛОЖЕНИЕ № 1
Если вы делаете какие-либо резервные копии MySQL Instance, лучше всего настроить MySQL Replicaton так, чтобы любая нагрузка на сервер или увеличение дискового ввода-вывода никак не влияло на вашу производственную базу данных.
После настройки MySQL Replication вы можете создавать сценарии mysqldump различными способами ( см. Мой пост на DBA StackExchange для получения информации о различных методах ), если вы запускаете эти mysqldumps на подчиненном устройстве.
ПРЕДЛОЖЕНИЕ № 2
Если вы не можете настроить другой сервер для MySQL Replication и все ваши данные - InnoDB, вам придется выполнить mysqldump на определенный момент времени. Это делается с помощью --single-transaction
опции с mysqldump. Таким образом, если вы запустили mysqldump, начиная с полуночи, а резервное копирование закончилось в 12:15, выходные данные mysqldump при восстановлении отражают данные по состоянию на 12:00.
ПРЕДЛОЖЕНИЕ № 3
Еще одна программа для резервного копирования MySQL - это XtraBackup от Percona.
XtraBackup - это всеобъемлющий инструмент, который ведет себя как rsync, но имеет целенаправленную цель в жизни. Он может начать с копирования всех данных InnoDB и табличных пространств. Он имеет возможность создавать контрольные точки внутри и выполнять аварийное восстановление InnoDB на месте, чтобы обеспечить идеальное резервное копирование на определенный момент времени. XtraBackup также имеет дополнительную функцию, которая позволяет создавать инкрементные резервные копии. Еще одной дополнительной функцией является создание файлов журналов InnoDB, также созданных с помощью восстановления после сбоя на месте. Существует также некоторое программное обеспечение-обертка, обеспечивающее замороженное копирование таблиц MyISAM.
Он выполняет заднюю часть экземпляра MySQL, но с явным отличием. Момент времени резервного копирования зависит от того, когда резервное копирование завершено, а не когда оно началось. Таким образом, если вы запустили XtraBackup, начиная с полуночи, а резервное копирование закончилось в 12:15, выходные данные mysqldump при восстановлении отражают данные по состоянию на 12:15.