mysql空表不导出问题_mysqldump导出数据时,某些表不导出,排除某些表,不导出某些表...

需求说明:

今天一同事问,在通过mysqldump导出数据库的时候,能不能把某些表不导出,或者叫做排除在外呢,

记得应该是可以实现,就搜索了下,通过mysqldump的--ignore-table参数能够实现,再次记录下。

操作过程:

1.查看某个库及其中的表的情况

mysql>use mytest

Reading table informationforcompletion 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

total7112

-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 fortable `ti_o_smsbak`

DROP TABLE IF EXISTS `ti_o_smsbak`;

CREATE TABLE `ti_o_smsbak` (-- Dumping data fortable `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

total14220

-rw-rw-r--. 1 mysql mysql 7277128 Jan 3 20:29mytest02.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

以上就是mysqldump导出数据时,某些表不导出,排除某些表,不导出某些表的全部内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值