MySQL 使用 mysqldump 可以備份所有 Database、指定 Database 等等。
但是 Database 裡面,某個 Table 太大不想 Dump,要跳過可以怎麼做呢?
MySQL mysqldump 跳過某些 Table
可以使用 --ignore-table=database.table_name,多個的話,要 --ignore-table 多個串接。
範例:
- mysqldump -u root database-name --ignore-table=database-name.table1 --ignore-table=database-name.table2 > database-name.sql
若有多個 Table 需要時常備份的話,可以寫成下述 script:(mysqldump-ignore-table.sh)
DATABASE=test EXCLUDED_TABLES=( table_name_1 table_name_2 table_name_3 ) IGNORED_TABLES_STRING='' for TABLE in "${EXCLUDED_TABLES[@]}" do: IGNORED_TABLES_STRING+="--ignore-table=${DATABASE}.${TABLE} " done mysqldump -u root -p ${DATABASE} ${IGNORED_TABLES_STRING} > ${DATABASE}.sql