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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料