互联网服务MySQLmysql在线迁移

怎么做到mysql在线迁移精确到1秒之内?

通常情况下我能想到的就是先做成双写模式,然后再导老数据,然后切换读库,这样的话很难做到1s之内。显示全部

通常情况下我能想到的就是先做成双写模式,然后再导老数据,然后切换读库,这样的话很难做到1s之内。

收起
参与15

查看其它 3 个回答liucj2004的回答

liucj2004liucj2004其它undefined

精确到1秒以内什么意思?你要最快速的迁移?
库a(老库、源库) 库b(新库、目标库)
假设库生产是oltp库,假设客户端使用dns连接

在业务低峰,比如说半夜时候进行,关闭半夜的备份,收缩表等任务计划
1、老库导出备份,比如xtra,在b库恢复
2、b库搭建为a库的从库
3、等待a库完全追上主库(看回放是否完毕,pos一否一致)
4、b库设置read_only(这段时间业务只读,无法访问)
5、等待b库没有旧的dml语句(因为是oltp库,所以每个语句都很快会结束),等待a库完全追上主库(看回放是否完毕,pos一否一致,这段时间预计不会太久)
6、dns将数据库域名指向到b库

停机的时间是有4和5,但是主从因为基本上实时同步,所以可以控制在很短的时间内完成。

农业其它 · 2017-05-03
浏览2413
  • 对,就是最快迁移。但是遇到题突发情况的时候并不能拖到晚上迁移,而且可能还要改一些配置文件的接口
    2017-05-03
  • 那按照我发的方法即可
    2017-05-03

回答者

liucj2004 最近回答过的问题

回答状态

  • 发布时间:2017-05-03
  • 关注会员:6 人
  • 回答浏览:2413
  • X社区推广