X

MySQL mysqldump 跳過某些 Table

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
Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post