需求说明:

  今天一同事问,在通过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 |
+--------------------+
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
-rw-rw-r--. mysql mysql Jan : 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
-rw-rw-r--. mysql mysql Jan : mytest02.sql
-rw-rw-r--. mysql mysql Jan : 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导出数据时,某些表不导出,排除某些表,不导出某些表的更多相关文章

  1. --mysql 导出数据时, 数字类型的列如果位数过长,变为科学计数法问题

    --mysql 导出数据时, 数字类型的列如果位数过长,变为科学计数法问题在字段前加上\t即可select concat('\t',a.IDCARD_NO) from xxx a

  2. exp导出数据时丢表

    友军发来消息,说使用exp导出某个schema的数据的时候,发现有些表没有导出来.因为一直没有使用exp的习惯,就使用exp\expdp再次导出一次,分析二者的日志,发现exp的确有些表没有导出. 问 ...

  3. SQL Server2000导出数据时包含主键、字段默认值、描述等信息

    时经常用SQL Server2000自带的导出数据向导将数据从一台数据库服务器导出到另一台数据库服务器: 结果数据导出了,但表的主键.字段默认值.描述等信息却未能导出,一直没想出什么方法,今天又尝试了 ...

  4. MySQL导出数据时提示文件损坏

    使用Navicat工具,优先将整个数据库的表和数据导出. 如果遇到文件损坏错误可以在表实例界面选中所有表,然后将表转储为SQL文件(结构和数据). 在目标数据库执行导出的SQL文件,导入结构和数据. ...

  5. yii2 数据导出 excel导出以及导出数据时列超过26列时解决办法

    作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension​ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...

  6. PHPExcel导出数据时字段超过26列出错Invalid cell coordinate [1

    http://blog.csdn.net/dl425134845/article/details/46650961 以下是解决方案函数 /** *   方法名:    getExcel *   作用  ...

  7. 关于oracle 11g导出数据时 报 ORA 1455错误的处理

    因为导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先:  查看:     SQL>show parameter deferred_segment_creation;  假设为T ...

  8. oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件

    提示: IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入 解决方法: 用户system用户登录然后授权 grant dba to hszx

  9. mysql 导出数据时进行压缩

    mysqldump < mysqldump options> | gzip > outputfile.sql.gz 例子: mysqldump -uroot -p your_data ...

随机推荐

  1. BZOJ2759一个动态树好题 LCT

    题如其名啊 昨天晚上写了一发忘保存 只好今天又码一遍了 将题目中怕$p[i]$看做$i$的$father$ 可以发现每个联通块都是一个基环树 我们对每个基环删掉环上一条边 就可以得到一个森林了 可以用 ...

  2. 如何查看jdk和eclipse是几位的(eclipse快捷键)

    查看jdk public class rr{   public static void main(String[] args)   {String arch = System.getProperty( ...

  3. 2016年Godaddy最新域名转出教程

    2016年Godaddy最新域名转出教程 http://godaddy.idcspy.com/godaddy-newest-domain-zhuanchu HostEase注册的域名转入和转出 htt ...

  4. ZwQuerySystemInformation枚举内核模块及简单应用

    简单说,即调用第11号功能,枚举一下内核中已加载的模块.部分代码如下://功能号为11,先获取所需的缓冲区大小ZwQuerySystemInformation(SystemModuleInformat ...

  5. CCNA实验3.单臂路由器

    拓扑图: 一.交换机配置 通过路由器子接口的方式实现vlan之间的路由. conf t vlan 10 vlan 20 int f0/1 switchport access vlan 10 int f ...

  6. 使用Amalgamate将C/C++项目合并成一个.h/.c[pp]文件

    简述 C/C++开源库一般是一堆的头文件和源文件,做到声明和实现分离,减小单个模块大小,这在设计上是很好的,但是用起来稍显麻烦.在网上看到有好心人推荐了一个开源工具Amalgamate,专门用来对C/ ...

  7. CentOS7下 让Docker pull命令使用squid做http代理拉取目标镜像仓库的镜像

    场景,如下图所示: 服务器B具有两个网卡,分别和服务器A和服务器C互通,这里想要在服务器C上借助服务器B作为桥梁,拉取镜像仓库服务器A上的镜像. 思路也很简单,在服务器上搭建HTTP代理服务,服务器C ...

  8. Window下对nodejs多版本管理GNVM

    Windows下对nodejs多版本的管理,实现随意切换! 官方地址: https://github.com/Kenshin/gnvm http://ksria.com/gnvm/ 01.下载GNVM ...

  9. JAVA四则运算字符串解释器

    最近学习到后缀表达式,于是基于后缀表达式的思想,写了一个四则运算解释器,输入字符串类型的四则运算表达式,可以直接得到结果,支持括号嵌套. 实现时主要考虑以下两点: 字符串中运算符和数字分离 运算符优先 ...

  10. linux nfs共享文件

    linux文件共享可以有多种方式:samba,nfs,ftp等等 nfs在linux之间效率高些: function nfs(){ share_folder="/data1 192.168. ...