2011-01-28 2 views
9

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

Я вижу the no-data parameter, но это, кажется, не поддерживает выбор только определенных таблиц.

+0

на Linux или Windows? – ajreal

+1

@ajreal Linux. Это имеет значение? – mattalxndr

ответ

8

Запустить 2 команды. Один, где перечислены все таблицы, которые требуется полный дамп, тот, где вы дамп только определение таблицы

#structure only 
mysqldump -d -q mydb table1 table2 table3 

#all data too 
mysqldump -q mydb table4 table5 table6 
7

можно объединить с помощью сценария оболочки, чтобы помочь лучше

#/bin/bash 

# dump all except for table log 
tables=$(mysql -N <<< "show tables from your_db" | grep -Ev "^log$" | xargs); 
mysqldump your_db $tables > backup.sql 

# dump structure for table log 
mysqldump -d your_db log >> backup.sql 

 Смежные вопросы

  • Нет связанных вопросов^_^