mysql 大表mysqldump迁移方案
场景
一张历史表product_history 500万数据,凌晨的才会将正式表的数据迁移到历史表,此次需求将历史表迁移到一个更便宜的数据库实例进行存储。
条件
1.此表不是实时写,凌晨才会更新
2.夸数据库实例进行迁移
3.此表对数据准确性有要求,数据必须准确
选型
1.navicat 导出数据(转存储仅结构和数据)
2.重命名表,创建一张新表(适合同一个实例)
3.mysqldump 导数据
操作对比
navicat 支持两个数据库之间直接导数据,不需要先导出到本地再从本地导入到另外的实例
mysqldump 支持两个数据库之间直接导数据,不需要先导出到本地再从本地导入到另外的实例,支持导出压缩。例子:导出的5M的数据压缩只有700k
性能对比
Navicat导出的数据是一条条的insert语句,每一行一条插入语句。
mysqldump 导出的数据,多行数据合并成一行插入。批插入减少sql 语法词法解析,减少插事务(最大的开销),较少数据的传输
思考准备
大表数据迁移需思考的问题:
1.大量数据读取与插入是否会造成表的死锁。
2.对自己的服务器或者云上的实例的IO,带宽,内存占用有多大,会不会造成内存溢出,cpu 100%
3.迁移的数据特殊类型例如(blob)会不会在导入的时候丢失。
4.不同的引擎之间是否会对导入数据有影响
开始:
数据库mysql 5.7,官方mysqldump文档https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#mysqldump-performance-options
导出表数据和结构 mysqldump -h实例ip/域名 -P端口号(大写P表示端口号区别于小写p密码) -u用户名 -p密码 库名 表名|gizp(表示压缩) > 输出地址 xxx.sql
eg:
mysqldump -uroot -p'123456' -h127.0.0.1 -P3306 mydb order_product|gizp > /Users/llj/order_product.sql
导出的格式
删除表
创建相同的表结构
给表加写锁
批量插入数据(insert into)
释放表锁
这种带来的隐患
1.删除表:若导出是增量模式,不是全量覆盖则会将原来的表数据删除,只会有增量的数据
将数据导回实例
mysql -h实例ip/域名 -p端口号 -u用户名 -p'密码' 库名<Documents/sql/order_product.sql
mysql 大表mysqldump迁移方案的更多相关文章
- 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结
本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言 MySQL作为开源技术的代表作之一,是 ...
- MySQL 大表优化方案(长文)
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...
- 从云数据迁移服务看MySQL大表抽取模式
摘要:MySQL JDBC抽取到底应该采用什么样的方式,且听小编给你娓娓道来. 小编最近在云上的一个迁移项目中被MySQL抽取模式折磨的很惨.一开始爆内存被客户怼,再后来迁移效率低下再被怼.MySQL ...
- [记录]一则清理MySQL大表以释放磁盘空间的案例
一则清理MySQL大表以释放磁盘空间的案例 一.基本情况: 1.dbtest库554G,先清理st_online_time_away_ds(37G)表的数据,保留半年的数据: 1)删除的数据:sele ...
- 使用MySQL传输表空间迁移数据
对于大表的迁移,如果使用mysqldump进行导出,然后重新导入到其它环境,速度是非常缓慢的.如果使用传输表空间,则可以解决这个问题. 测试使用传输表空间迁移表,基础环境如下: 源库 目标库 IP ...
- mysql大内存高性能优化方案
mysql优化是一个相对来说比较重要的事情了,特别像对mysql读写比较多的网站就显得非常重要了,下面我们来介绍mysql大内存高性能优化方案 8G内存下MySQL的优化 按照下面的设置试试看:key ...
- 详解MySQL大表优化方案( 转)
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...
- MySQL 大表优化方案探讨
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...
- MySQL大表优化方案
转:https://segmentfault.com/a/1190000006158186?hmsr=toutiao.io&utm_medium=toutiao.io&utm_sour ...
随机推荐
- 关于idea的一次踩坑记录-Auto build completed with errors
maven项目添加pom依赖后,一直不能正常导入所依赖的jar包,并且报错“ Auto build completed with errors”
- apache httpd 不记录head 的请求。
比如说用了阿里云的slb ,然后他会检测服务器是否正常运行,通常会发大量的HEAD 请求过来. 这样有规则的请求是可以屏蔽的.步骤如下: 在 <Directory />中添加 SetEnv ...
- 2.2 Go变量类型
内置类型 值类型: bool 布尔类型 int(32 or 64), int8, int16, int32, int64 整数类型 uint(32 or 64), uint8(byte), uint1 ...
- zabbix 自动发现主机并关联模板
一.自动发现添加主机 1.利用agent自动发现主机 Configuration - Discovery -Create discovery rule 2.将自动发现的主机关联模板 Configura ...
- 安卓网络编程学习(1)——java原生网络编程(1)
写在前面 马上要进行第二轮冲刺,考虑到自己的APP在第一轮冲刺的效果不尽人意,有很多网络方面的小BUG,这里就系统学习一下网络编程,了解来龙去脉,以便更好的对项目进行优化处理. http协议 http ...
- 苏浪浪 201771010120 第四周 Java基本程序设计总结
第四章 对象与类 学习目标 掌握类与对象的基础概念,理解类与对象的关系: 掌握对象与对象变量的关系: 掌握预定义类的基本使用方法,熟悉Math类.String类.math类.Scanner类.Lo ...
- CF915D Almost Acyclic Graph
题目链接:http://codeforces.com/contest/915/problem/D 题目大意: 给出一个\(n\)个结点\(m\)条边的有向图(无自环.无重边,2 ≤ n ≤ 500, ...
- C#判断TCP连接状态
- mysql Invalid use of group function的解决办法
错误语句:SELECT s.SID, s.Sname, AVG(a.score)FROM student sLEFT JOIN sc a ON s.SID = a.SID WHERE AVG(a.sc ...
- Charles截获iPhone网络请求
Charles介绍:Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,有时为了调试与服务器端的网络通讯协议,常常需要服务端原因一起调试.有了Charles客户端人员自娱自乐了,想怎 ...