Я запускаю 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