腾讯云:Mysql外网迁移3大阶段

2016年7月5日,诚邀您参与腾讯·“云+未来”生态峰会,与腾讯董事会主席马化腾先生及各界顶级企业家,国际专家共探产业与互联网融合发展之道,推动互联网+生态圈发展。 详情\u0026gt;\u0026gt;

\\\\

摘要:存有大量数据的数据库热迁移是一个庞大的工程,导出冷备时使用断点续传,同时建立主从同步binlog,可有效避免避免写量过大无法同步的情况,有助于提高数据迁移成功率。

\\

作者简介:杨睿,腾讯云高级产品经理,腾讯云云数据库产品负责人,从事后台开发工作3年,产品工作5年,对云产品的策划和运营积累了丰富的经验。

\\

总所周知,数据库迁移一直是一个苦活、脏活、累活。尤其是在外网进行迁移,网络抖动,外网的安全风险,以及速度慢都是迁移中的难点与痛点。若还想做在线迁移,不停服,却要能做到平滑迁移,往往是难上加难,稍不注意就变成了重大事故。

\\

腾讯云数据CDB 在迁移Mysql中,积累了多年经验,可以分如下三大阶段:

\\

第一阶段:积水成渊,蛟龙生焉

\\

这种方式最简单,也最灵活。用户只需要输入用户名和密码,然后是外网数据库所在的端口和ip地址,通过mysql协议,可以导出数据库内容,做线上迁移。整个过程,用户仅仅需要在最初的时候输入,同时观察进度,等待监控告诉,同步几乎在秒级之间的差距,再切换ip即可。主要思想就是慢慢积少成多,但是问题也很明显:

\\
  1. 对于大量数据迁移,无能为力;\\t
  2. 速度较慢;\\t
  3. 在网络故障时,无法自动恢复。\

因此该方案仅仅适用于小数据场景。但便捷性和对环境的不挑剔,是一大特点。

\\

腾讯云:Mysql外网迁移3大阶段_第1张图片

\\

第二阶段:弱水三千,只取一瓢

\\

为了解决方案一的速度慢的问题,我们其实可以先把冷备后的文件导入到云数据库。所谓弱水三千 只取一瓢,这一瓢就是这个冷备份,再通过设置冷备的位置和 binlog的位置来追数据。同时可以同时同步binlog 和冷备文件,然后在到目的端执行,这样可以加快同步速度;但是这个方案依然无法处理一些网络故障导致的中断,尤其是在较大数据量时,其实也有优化空间。

\\

腾讯云:Mysql外网迁移3大阶段_第2张图片

\\

第三阶段:抽刀断水,川流不息

\\

抽刀断水水更流,若能做到断点续传,则可以任由外部环境变化,我自岿然不动。腾讯云数据库迁移工具中,有一系列工具可以安装在客户端,当然迁移是允许在客户端安装工具。该工具可以导出冷备文件,类似Xtraback的原理,同时也提供压缩功能,再自动传输到指定的迁移目的地。若中途出现故障,可以自己控制断点续传,再结合binlog,便可以真做到任由外部环境怎么变化,始终保持最优秀的传输和数据导入导出。整个过程无需职守。

\\

腾讯云:Mysql外网迁移3大阶段_第3张图片

\\

在实践过程中,为了保障迁移任务的调度和整个迁移服务器的高可用性,腾讯云CDB搭建了OSS集群保障数据迁移的正常进行。

\\

腾讯云:Mysql外网迁移3大阶段_第4张图片

\\

总结

\\

存有大量数据的数据库热迁移是一个庞大的工程,导出冷备时使用断点续传,同时建立主从同步binlog,可有效避免避免写量过大无法同步的情况,有助于提高数据迁移成功率。

\\

2016年7月5日,诚邀您参与腾讯·“云+未来”生态峰会,与腾讯董事会主席马化腾先生及各界顶级企业家,国际专家一同,共探产业与互联网融合发展之道,推动互联网+生态圈发展。欢迎点击了解。

你可能感兴趣的:(腾讯云:Mysql外网迁移3大阶段)