您可以使用--ignore-
table选项。所以你可以做
mysqldump -u USERNAME -pPASSWORD DATAbase --ignore-table=DATAbase.table1 > database.sql
之后没有空格
-p(这不是错字)。
如果要忽略多个表,可以使用一个简单的脚本,如下所示
#!/bin/bashPASSWORD=XXXXXXHOST=XXXXXXUSER=XXXXXXDATAbase=databasenameDB_FILE=dump.sqlEXCLUDED_TABLES=(table1table2table3table4tableN )IGNORED_TABLES_STRING=''for TABLE in "${EXCLUDED_TABLES[@]}"do : IGNORED_TABLES_STRING+=" --ignore-table=${DATAbase}.${TABLE}"doneecho "Dump structure"mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --no-data --routines ${DATAbase} > ${DB_FILE}echo "Dump content"mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} ${DATAbase} --no-create-info --skip-triggers ${IGNORED_TABLES_STRING} >> ${DB_FILE}


