mysqldump导出数据时,某些表不导出,排除某些表,不导出某些表

需求说明:

  今天一同事问,在通过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表排除在外

[[email protected] baks]$ mysqldump --databases mytest --ignore-table=mytest.ti_o_sms > mytest.sql
[[email protected] baks]$ ll
total 7112
-rw-rw-r--. 1 mysql mysql 7280800 Jan  3 20:27 mytest.sql

3.查看导出的dump文件中,是否包含ti_o_sms表

[[email protected] 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.将多个表排除在外

[[email protected] baks]$ mysqldump --databases mytest --ignore-table=mytest.ti_o_sms --ignore-table=mytest.ti_o_smsbak > mytest02.sql
[[email protected] 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表的信息

[[email protected] baks]$ grep -E "ti_o_sms|ti_o_smsbak" mytest02.sql
[[email protected] 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

原文地址:https://www.cnblogs.com/chuanzhang053/p/10216751.html

时间: 2024-11-08 03:06:05

mysqldump导出数据时,某些表不导出,排除某些表,不导出某些表的相关文章

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

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

导出数据时想让鼠标变成漏斗形状

 导出数据时想让鼠标变成漏斗形状[传说]广州-G 2015/8/21 9:40:03 startLengthyOperation()....endLengthyOperation()[传说]广州-G 2015/8/21 9:40:27 导数据时前后加上着两个方法[吐槽]广州-麦 2015/8/21 9:40:35 infolog.startLengthyOperation();infolog.endLengthyOperation();

exp导出数据时丢表

友军发来消息,说使用exp导出某个schema的数据的时候,发现有些表没有导出来.因为一直没有使用exp的习惯,就使用exp\expdp再次导出一次,分析二者的日志,发现exp的确有些表没有导出. 问题产生的原因:在11gR2之前,oracle实在表被创建时就分配空间:从11gR2(11.2.0.1)中引入了一个新特性:deferred segment creation.11gR2之后,参数deferred_segment_creation默认是true,表示表中插入第一条数据才会分配磁盘空间.

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

作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension? 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 先概括下我们接下来要说的大致内容: 数据列表页面导出excel数据, 1.可以根据GridView的filter进行搜索数据并导出 2.可以自行扩展数据导出的时间直接导出数据 //先来看controller层,接收GridView参数并做拼接处理 php c

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

使用Navicat工具,优先将整个数据库的表和数据导出. 如果遇到文件损坏错误可以在表实例界面选中所有表,然后将表转储为SQL文件(结构和数据). 在目标数据库执行导出的SQL文件,导入数据和结构. 如果个别表因为各种原因(比如使用federated引擎建立了DB-LINK)引起导入失败,可以重新导出,只是导出过程排除那些出问题的表,对于出问题的表可以单独复制结构和数据. 原文地址:https://www.cnblogs.com/JaxYoun/p/12336959.html

C#调用excel导出数据时提示000208D5-0000-0000-C000-000000000046错误的解决办法

错误信息:000208D5-0000-0000-C000-000000000046 Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Excel.Application'. This operation failed because the QueryInterface call on the COM component for the interf

mysqldump导出数据出现问题

利用mysqldump导出数据时提示warning,A partial dump from a server that has GTIDs[email protected]:~$  mysqldump -uroot -p sdxdb > sdxdb.sqlWarning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those tha

mysql导入导出数据中文乱码解决方法小结

inux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用--

MySQL 导出数据

MySQL 导出数据 MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 tutorials_tbl 数据导出到 /tmp/tutorials.txt 文件中: mysql> SELECT * FROM tutorials_tbl -> INTO OUTFILE '/tmp/tutorials.txt'; 你可以通过命令选项来设置数据输出的指定格式,以下实