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