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

mysqldump пропускает одну таблицу

Я запускаю cronjob для резервного копирования нашей системы с помощью mysqldump. База данных содержит около 90 таблиц. Одна из этих таблиц ОГРОМНА и время от времени вызывает сбой дампа.

Из руководства я вижу, что вы можете указать конкретные таблицы для сброса

shell> mysqldump [options] db_name [tbl_name ...]

Это заставило меня задуматься. Что, если у меня есть две работы: одна для сброса огромного стола, а другая для всех остальных. Для этого было бы неплохо, если бы я мог что-то вроде

shell> mysqldump -u backupuser -p database huge_table > db_huge_table.sql
shell> mysqldump -u backupuser -p database --skip huge_table > db_rest.sql

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

Другой вариант - это какой-то сценарий, но перед проверкой этого маршрута я попробую этот ресурс.

MySQL 5.1.61 на CentOS 6.2

Вы можете использовать --ignore переключатель командной строки

   ·   --ignore-table=db_name.tbl_name

       Do not dump the given table, which must be specified using both the
       database and table names. To ignore multiple tables, use this
       option multiple times. This option also can be used to ignore
       views.

что-то вроде

shell> mysqldump -u backupuser -p database --ignore-table=database.huge_table > db_rest.sql