MySQL-常见数据拆分办法
在生产环境中,由于业务的增长或者业务的拆分,DBA经常需要拆库操作。那么我们常见的拆库手段有哪些呢?
我这里提供几种解决办法:
1. 使用mysqldump 把表逻辑倒出,然后再source 到其它地方
2. 使用xtrabackup 把表、或者库逻辑备份出,然后再recovery出一个实例
3. 使用MySQL自带的表空间转移(Transport)[这个需要MySQL 5.6.6 以上版本支持]
I: 先来看一下MySQL 的 Transport 表空间的特性吧
比如我们要把 tab_test1 从 db_A 移动到 db_B ,那么我们需要做这么一系列动作:
Step 1: use db_A; show create table tab_test1;(首先,拿到需要的表结构)
Step 2: use db_B; create table tab_test1; alter tale tab_test1 discard tablespace;(discard tablespace 就是把ibd文件删掉,只留下.frm文件)(其次,到目标库删除掉idb文件)
Step 4: use db_A; flush table test122 for export;(把相关表的内存数据写入到数据库)
Step 5: 拷贝 tab_test1.ibd 文件到 db_B/ 目录下;(操作系统层执行拷贝ibd文件操作)
Step 6: use db_A; unlock tables; (源库上解锁表)
Step 7: use db_B; alter table tab_test1 import tablespace;(目标库执行表空间导入)
执行完上边几个步骤,我们就完成了 在库之间迁移 某些个表的操作了。
II: 再来看一下 xtrabackup 导出部分表,以达到迁移目的
Step 1: 我们需要使用xtrabackup 备份部分表
nohup perl /home/ddb/tmp/xtrabackup/bin/innobackupex-1.5.1 --ibbackup=/home/tmp/xtrabackup/bin/xtrabackup_55 --user=root --password=123 --defaults-file=/home/my.cnf --slave-info --tables-file=/mnt/back_tables.txt /mnt/backup_1
执行完上边几个步骤,我们就完成了表的迁移操作,并且新起了个实例,达到了分库的目的。
III:最后我们就看一下 mysqldump 的姿势吧
额, 这个就不多啰嗦了吧, mysqldump 做的事情就是 一些逻辑的导出, 倒出来的数据我们是可以用人肉可见的。 这个需要注意的一点就是 --single-transcation 选项
MySQL-常见数据拆分办法的更多相关文章
- MYSQL数据库数据拆分之分库分表总结
数据存储演进思路一:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 数据存储演进思路二:单库多表 随着用户数量的 ...
- <转>MYSQL数据库数据拆分之分库分表总结
数据存储演进思路一:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 数据存储演进思路二:单库多表 随着用户数量的 ...
- MYSQL数据库数据拆分之分库分表总结 (转)
数据存储演进思路一:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 数据存储演进思路二:单库多表 随着用户数 ...
- mysql常见数据提示 mysql报错提示大全
错误代码和消息 目录 B.1. 服务器错误代码和消息 B.2. 客户端错误代码和消息 本章列出了当你用任何主机语言调用MySQL时可能出现的错误.首先列出了服务器错误消息.其次列出了客户端程序消息. ...
- Mysql删除数据后磁盘空间未释放的解决办法【转】
转自 Mysql删除数据后,磁盘空间未释放的解决办法 - 今日头条(TouTiao.com)http://toutiao.com/a6303087712678412546/?tt_from=mobil ...
- mysql根据逗号将一行数据拆分成多行数据
mysql根据逗号将一行数据拆分成多行数据 原始数据 处理结果展示 DDL CREATE TABLE `company` ( `id` ) DEFAULT NULL, `name` ) DEFAULT ...
- mysql常见知识点总结
mysql常见知识点总结 参考: http://www.cnblogs.com/hongfei/archive/2012/10/20/2732516.html https://www.cnblogs. ...
- java+Mysql大数据的一些优化技巧
众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法; 例如,我们要将 ...
- MYSQL常见的可优化点
MYSQL常见的可优化点 SQL常见的可优化点 2014年6月8日 DBA 发表回复 # #################################################### 索引 ...
随机推荐
- 十一、Django认证模块--Auth模块
一.常规认证方法 我们学生管理之登录实现一文中已经了解了自己写一个登录逻辑的过程: 1.url配置 urlpatterns = [ url(r'^login/$', views.login), url ...
- 【SIKIA计划】_11_Unity动画插件-DOTween笔记
[插值移动]using DG.Tweening;public class GetStart:MomoBehaviour{ public Vector3 myValue = new Vector3(0, ...
- 启动docker 端口映射时IPV4无法使用
CentOS7 Docker启动一个web服务,使用端口映射报错: WARNING: IPv4 forwarding is disabled. Networking will not work. 查找 ...
- django(新增model)No migrations to apply.
django 1.8版本,在models下新建一个class,无法在数据库创建新表的问题: - models.py class HostPwd(models.Model): hostname = mo ...
- NIO_通道之间传输数据
通道之间传输数据 transferFrom() transferTo() @Test public void test3() throws IOException { FileChannel inCh ...
- caffe/blob.hpp:9:34: fatal error: caffe/proto/caffe.pb.h: 没有那个文件或目录
You need to generate caffe.pb.h manually using protoc as follows. # In the directory you installed C ...
- jaxb教程(忘记了过来看看)
链接 原文链接
- Scrum立会报告+燃尽图(Final阶段第三次)
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2481 项目地址:https://coding.net/u/wuyy694 ...
- 20135234mqy
北京电子科技学院(BESTI) 实 验 报 告 课程:Java实验 班级:1352 姓名: mqy 学号:20135234 成绩: 指导教师 ...
- 第二阶段每日站立会议Forth Day
昨天对于程序中的字体显示进行细化修改,使界面更美观 今天准备继续调试手机界面 遇到的问题:上几次Tomcat运行正常,今天突然出现问题,Tomcat服务可以打开,但是无法连接到数据库