需求說明:
今天一同事問,在通過mysqldump導出數據庫的時候,能不能把某些表不導出,或者叫做排除在外呢,
記得應該是可以實現,就搜索了下,通過mysqldump的--ignore-table參數能夠實現,再次記錄下。
操作過程:
1.查看某個庫及其中的表的情況
mysql> use mytest Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; #查看當前數據庫中,所有的表的情況 +--------------------+ | Tables_in_mytest | +--------------------+ | sms_send_blacklist | | td_b_sendobject | | test | | ti_o_sms | | ti_o_smsbak | +--------------------+ 5 rows in set (0.00 sec)
2.通過mysqldump命令的--ignore-table選項,將ti_o_sms表排除在外
[mysql@testvm01 baks]$ mysqldump --databases mytest --ignore-table=mytest.ti_o_sms > mytest.sql [mysql@testvm01 baks]$ ll total 7112 -rw-rw-r--. 1 mysql mysql 7280800 Jan 3 20:27 mytest.sql
3.查看導出的dump文件中,是否包含ti_o_sms表
[mysql@testvm01 baks]$ grep "ti_o_sms" mytest.sql -- Table structure for table `ti_o_smsbak` DROP TABLE IF EXISTS `ti_o_smsbak`; CREATE TABLE `ti_o_smsbak` ( -- Dumping data for table `ti_o_smsbak` LOCK TABLES `ti_o_smsbak` WRITE; /*!40000 ALTER TABLE `ti_o_smsbak` DISABLE KEYS */; /*!40000 ALTER TABLE `ti_o_smsbak` ENABLE KEYS */;
備注:沒有看到ti_o_sms表的信息,看到的僅僅是ti_o_smsbak表的信息。
4.將多個表排除在外
[mysql@testvm01 baks]$ mysqldump --databases mytest --ignore-table=mytest.ti_o_sms --ignore-table=mytest.ti_o_smsbak > mytest02.sql [mysql@testvm01 baks]$ ll total 14220 -rw-rw-r--. 1 mysql mysql 7277128 Jan 3 20:29 mytest02.sql -rw-rw-r--. 1 mysql mysql 7280800 Jan 3 20:27 mytest.sql
5.查看其中是否包括ti_o_sms和ti_o_smsbak表的信息
[mysql@testvm01 baks]$ grep -E "ti_o_sms|ti_o_smsbak" mytest02.sql [mysql@testvm01 baks]$
備注:通過以上的結果說明,2張表都已經被排除在外了。
mysqldump命令的--ignore-table參數的語法
--ignore-table=db_name.tbl_name Do not dump the given table, which must be specified using both the database and table names. To ignore multiple tables, use this option multiple times. This option also can be used to ignore views.
解釋:
--ignore-table=數據庫名.表名
該參數的作用是,對某些表不進行導出。等號后面的參數即表的信息,必須通過數據庫和表名來定義。如果要忽略多張表,那么就要多次使用--ignore-table參數,比如--ignore-table=A.tabA --ignore-table=A.tabB.
同時,這個參數可以用來忽略視圖的導出。
文檔創建時間:2019年1月3日20:38:48