Назад | Перейти на главную страницу

mysqldump - single-transaction с файлами дампа, разделенными таблицей?

Как с помощью mysqldump создать согласованную резервную копию базы данных MySQL (InnoDB) и разделить файлы дампа таблицей?

Я знаю, что для создания согласованной резервной копии с помощью mysqldump есть --single-transaction

Я знаю, что для создания отдельных файлов дампа я могу использовать свой язык для циклического просмотра таблиц и вызова отдельных mysqldump команды. Но каждый дамп таблицы будет из разного момента времени.

Я смотрел на mysqldump документация чтобы каким-то образом указать момент времени либо по метке времени, либо по координатам двоичного журнала, но я не смог его найти.

Я также просматриваю каждую таблицу и вместо вызова mysqldump я вызываю «выбрать в выходной файл».

Транзакции очень важны для приложения, чтобы иметь согласованное состояние для базы данных. поэтому я думаю, что если вы используете тот же текущий метод (сквозной цикл) или «выбрать в исходный файл», то это правильный метод, я полагаю

Используя выбранный вами язык, вы можете заблокировать все таблицы, а затем выполнить mysqldump в цикле для каждой таблицы; или установите базу данных только для чтения на время резервного копирования. Вы также можете использовать innobackup (www.percona.com), который может поддерживать все согласованно, а затем применять журналы, которые были записаны во время фактического процесса резервного копирования.