实际上,不停机扩容,实操起来是个非常麻烦而且很有风险的操作

一、第一阶段:在线双写,查询走老库

1. 建立好新的库表结构,数据写入久库的同时,也写入拆分的新库

2. 数据迁移,使用数据迁移程序,将旧库中的历史数据迁移到新库

3. 使用定时任务,新旧库的数据对比,把差异补齐

MySQL数据库不停机扩容怎么实现?_数据迁移

二、在线双写,查询走新库

1. 完成了历史数据的同步和校验

2. 把对数据的读切换到新库

MySQL数据库不停机扩容怎么实现?_定时任务_02

三、第三阶段:旧库下线

  1. 旧库不再写入新的数据
  2. 经过一段时间,确定旧库没有请求之后,就可以下线老库

MySQL数据库不停机扩容怎么实现?_定时任务_03