复制一张表,方法有很多种。

一、最简单的方法:

create table t2 as select * from t1;

二、逻辑导出:

1、mysqldump逻辑导出

mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info --single-transaction --set-gtid-purged=off test01 t2 --where='c1>4' --result-file=/mysql/backup/t2.sql

--

single-transaction

不需要对t2进行加锁,而是使用start transaction with consistent snapshop的方法

--add-locks=0

表示在输出的的文件结果里,不增加"lock tbales t2 write"

--no-create-info

不需要导出表结构

-set-gtid-purged=off

不导出gtid相关信息

--result-file

指定导出文件的路径

2、导出csv文件

创建t3表结构

create table t3 like t2;

导出需要导出t2的数据

select * from t2 where c1>4 into outfile '/mysql/backup/t2.csv';

将csv文件导入到t3

load data infile '/mysql/backup/t2.csv' into table test01.t3;

三、物理拷贝的方法

1、创建t3表结构

create table t3 like t2;

2、执行alter table t3 discard tablespace;此时t3.ibd会被删除

3、执行flush table t2 for export;此时test01目录下会生成一个t2.cfg文件

4、拷贝t2.ibd,t2.cfg,注意权限

cp t2.cfg t3.cfg

cp t2.ibd t3.ibd

5、unlock tables,这时候t2.cfg会被删除

6、执行alter table t3 import tablespace;将t3.ibd作为t3新的表空间,数据和t2也是相同的。

总结:

1、对于大表,物理拷贝方法最快,对于误删表的情况,比较有用,但是也存在一定的弊端:

必须是全表拷贝;

必须能连服务器;

源表和目标表都必须是innodb存储引擎。

2、mysqldump方法可以生成insert的语句,可以加过滤条件拷贝部分数据,但是不能使用join这种比较复杂的条件。

3、select .... into outfile的方法最灵活,但是缺点是每次只能导出一张表。

mysql快速复制一张表_MySQL快速复制一张表相关推荐

  1. mysql 不在另一张表_mysql查询在一张表不在另外一张表的记录

    mysql查询在一张表不在另外一张表的记录 问题: 查询一个表(tb1)的字段记录不在另一个表(tb2)中 条件:tb1的字段key的值不在tbl2表中 ---------------------- ...

  2. mysql数据意外删了怎么办_MySQL数据库意外崩溃导致表数据文件损坏无法启动怎么办...

    MySQL数据库意外崩溃导致表数据文件损坏无法启动怎么办 发布时间:2020-07-20 13:45:46 来源:亿速云 阅读:57 作者:小猪 这篇文章主要为大家展示了MySQL数据库意外崩溃导致表 ...

  3. mysql 优化表_mysql里sql优化和表结构优化

    开启慢查询日志 计入sql show variables like 'slow_query_log';//慢查询查看状态 OFF未开启 ON开启 show variables like '%log%' ...

  4. mysql新增字段会锁表_MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?...

    概述 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持.最常使用的MYISAM与INNODB都支持表级锁定.表级锁定分为表共享 ...

  5. mysql存储过程没有此表_mysql用存储过程写入 一个表A中没有存在在另一个表B的数据...

    需求 Abiao id content 1 sfsdfsg 2 ddsgffd 3 gfggg 4 dggfhfd Bbiao id 2 3 那么我要查询到Abiao 里面在Bbiao没有的数据 (理 ...

  6. mysql 改表名锁表_mysql修改字段防止锁表

    步骤1: 修改一个大表的字段,add column或者drop column,操作后表会锁住,此时查询ok,insert和update会一直等待锁.如图. 解决方案: 1.基于要操作的表创建一个临时表 ...

  7. mysql重装要删注册表_Mysql重装问题—删除注册表

    最近不小心突然卸载了mysql,结果重装mysql老是安装不成功,不是第四步出问题,就是第三步出问题无响应,卸了再重新安装,还是不行.究其原因就是系统里的注册表没有删除干净. 解决步骤: 1.在&qu ...

  8. mysql数据库更新表_Mysql数据库(四)表记录的更新操作

    一.插入表记录 1.使用INSERT...VALUES语句插入新纪录 (1)插入完整数据 mysql> desc tb_manager; +-------+------------------+ ...

  9. mysql binlog 恢复指定表_Mysql用全备恢复指定表mysqlbinlog抽取某个表的信息

    Mysql恢复到指定表 2009年05月27日 作者: 大头刚 一.从全备中提取某一个表的信息,并进行恢复 恢复使用Mysqldump工具备份的数据,有个不方便的地方,就是在恢复的时候不能指定恢复到表 ...

  10. mysql innodb 索引组织表_Mysql InnoDB引擎 -索引组织表

    在InnoDB 存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的额表称为索引组织表.在InnoDB存储引擎表中,每张表都有个主键(Primary key),如果在创建表时 没有显示地定义主键, ...

最新文章

  1. html5拖动图像的关键字,6.7 拖放图像 - HTML5 Canvas 实战
  2. UVa11402 Ahoy, Pirates!
  3. zcmu4959: ly的新闹钟(有个点容易忽略)
  4. Hibernate Synchronizer3——一个和hibernate Tool类似的小插件之使用方法
  5. Confluence 6 自定义 Decorator 模板的宏和针对高级用户
  6. I - Interesting Permutation Gym - 102394I(排列组合)
  7. 开发应用层的需要了解 framework层吗?---不需要!!!!
  8. C/C++排序算法(2)希尔排序
  9. LA 3695 Distant Galaxy
  10. (Deep learning)深度卷积网络实战——第三部分
  11. 快速确定dll 是x86还是x64
  12. 54_集合类库(上)
  13. C#实现百度翻译API调用
  14. 引擎所有固定变量大全
  15. win10计算机管理器端口号,Win10设备管理器没有端口选项的解决方法
  16. 图像合成:Multi-scale Image Harmonization
  17. 全倒装超微间距COB(COB微间距)显示主导新型显示技术。
  18. 图解AUTOSAR(六)——服务层(Service Layer)、复杂驱动(Complex Drivers)
  19. 2020年12月陕西计算机等级考试,2020年12月陕西全国计算机应用水平考试报名时间...
  20. Vue中slot的使用(具名插槽与作用域插槽)

热门文章

  1. 鸿蒙碎片八零,洪荒:我继承了鸿蒙神墓
  2. 使用ElasticSearch进行文档搜索
  3. 20230416英语学习
  4. 一款c#实现的实用好玩儿的背单词程序
  5. win10计算机未连接到网络适配器,Win10系统上网络适配器处于未连接状态该怎么解决?...
  6. Windows server2016 WDS
  7. k8s 一键安装Kubernetes集群
  8. html语言制作个人简介,个人简介网页制作模板代码技术分享
  9. 【Kettle】 Javascript脚本组件
  10. Dialogue System for Unity文档中英对照版(简雨原创翻译)第五篇(第三方插件拓展)