文档章节

如何不停机迁移一个mysql INNODB 数据库?

guli3057
 guli3057
发布于 2014/12/26 09:32
字数 667
阅读 228
收藏 0

如何不停机迁移一个mysql INNODB 数据库?
http://www.itpub.net/thread-1776724-1-1.html

使用MYSQL 5.5.27 服务器A上运行多个innodb 数据库,24x7 服务。其中一个数据库DBM1需要迁移到服务器B,DBM1的目录下磁盘文件的数据量为1TB左右, 有800+张表,其中实时更新的的有100多张表,它们的数据文件大小为100多GB。 innodb 已经配置为innodb_file_per_table。
要求迁移DBM1到服务器B,,迁移完成后,应用程序访问由A 立即切换到B,应用程序只能在切换时中断5分钟以内,同时要保证数据实时写入数据库,不能丢失数据。
想用replication, 或rsync ,但由于数据量较大,和实时写入数据不能丢失的要求,觉得实现比较困难。
请问有什么好的办法?或者工具?

 

答:

保证应用5分钟之内完成切换,且尽量不掉数据,方案肯定用复制。 问题在于复制的镜像如何做?
1、镜像一般两种:1)xtrabackup, 如果有myisam会有,才拷贝Myisam时会锁库,但时间很短。  2)你的库全部都是innodb表,使用mysqldump --single-transaction --master-date=2 
2、slave镜像选择:不建议使用mysqldump , 因为你原数据已经是1T,那么备份的文件也,怎么也得有700G以上(如果索引比较合理),备份速度不影响,但到目标机还原的时间就比较长了。
所以这里建议使用xtrabackup,  我们MySQL5.5.2x的使用1.63或者2.0的全备和增量备份都正常。
3、搭建主从库:xtrabackup备份完成后,根据binlog+pos,做成M-S , 原主机为M, 目标机为S. 这里处理注意几点:
1)xtrabackup备份的数据大小,相当于你目前datadir的du -h大小, 所以一定要注意你原机磁盘空间问题。 
2)从原主机到目标机传输时,scp过去使用-l限速,以免网卡打满,或者IO堵死了
3) 在目标机上如果磁盘不够, 比如你只有1.5T,xtrabackup不能做--copy-back, 好像2.0有个新参数,在回烤时只有一份。
4)目标作为从库时,修改一下复制my.cnf,只复制你要迁移的库。(如果单表的,可以使用blackhole engine来过滤不复制表)
5)M-S搭建起来后,把不用的库都drop掉。

4、在把应用切到目标机之前,把核心表warm-up一下, 比如用select count(*), 以免应用切到新机,完全冷数据,直接IO卡死了。    

 

本文转载自:http://www.itpub.net/thread-1776724-1-1.html

guli3057
粉丝 6
博文 31
码字总数 21074
作品 0
渝中
运维
私信 提问
从SQL Server到MySQL,近百亿数据量迁移实战

沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购,版本号是 3.23。工程师们选择了当时最合适的微软体系,...

狄敬超(3D)
2018/05/29
0
0
“进击的数据库”——传统数据库上云三部曲

摘要:随着云技术的发展,传统数据库上云成为趋势。那么传统数据库如何上云?数据库上云又会为用户带来哪些好处呢?阿里云数据库又为用户提供了哪些便利的工具来帮助传统数据库上云呢?本文将...

青衫染烟雨
2018/05/09
0
0
数据不停机迁移,真的可以!更有机会免单体验阿里云

近日,阿里云数据库团队推出了数据迁移服务DTS,使用DTS往RDS迁移数据,真的可以做到不停机迁移。 产品推广期间(截止7月31日),开通云数据库RDS 就有机会: 1.每天抽免单 (每天中午公布前一...

阿里云官方博客
2015/07/07
1K
0
如何从 MongoDB 迁移到 MySQL

最近的一个多月时间其实都在做数据库的迁移工作,我目前在开发的项目其实在上古时代是使用 MySQL 作为主要数据库的,后来由于一些业务上的原因从 MySQL 迁移到了 MongoDB,使用了几个月的时间...

Draveness
2017/10/23
0
0
向云上迁移数据时如何避免停机和中断

摘要:越来越多的组织需要在数据中心/云之间移动数据,但是在迁移过程中的一个关键风险点是停机。 在2017年的业务持续性意识周这里,我希望它能提供一个新的机会,来回顾这一领域云的一些局限...

xiaoli110
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JWT学习总结

官方 https://jwt.io 英文原版 https://www.ietf.org/rfc/rfc7519.txt 或 https://tools.ietf.org/html/rfc7519 中文翻译 https://www.jianshu.com/p/10f5161dd9df 1. 概述 JSON Web Token(......

冷基
今天
4
0
AOP的学习(1)

AOP 理解AOP编程思想(面向方法、面向切面) spring AOP的概念 方面 -- 功能 目标 -- 原有方法 通知 -- 对原有方法增强的方法 连接点 -- 可以用来连接通知的地方(方法) 切入点 -- 将用来插入...

太猪-YJ
今天
4
0
一张图看懂亮度、明度、光度、光亮度、明亮度

亮度、明度、光亮度,Luminance和Brightness、lightness其实都是一个意思,只是起名字太难了。 提出一个颜色模型后,由于明度的取值与别人的不同,为了表示区别所以就另想一个词而已。 因此在...

linsk1998
昨天
11
0
Python应用:python链表示例

前言 python链表应用源码示例,需要用到python os模块方法、函数和类的应用。 首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是...

python小白1
昨天
5
0
Source Insight加载源码

Source Insight是一个图形化的源代码查看工具(当然也可以作为编译工具)。如果一个项目的源代码较多,此工具可以很方便地查找到源代码自建的依赖关系。 1.创建工程 下图为Snort源代码的文件...

天王盖地虎626
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部