由于业务发展迅速,经常需要做线上业务的跨平台迁移,历史原因无法做不改IPPORT的无感知的迁移(老的架构是用dns做容灾,且老机器不久后即将下线),加上TX的这边DB实例数实在是多得蛋疼,为了让线上业务在不出故障的情况下从一个平台迁移到另一个平台,总结了以下MySQL对业务低影响的迁移流程。
随着流程逐步的完善,在极少故障的情况完成了线上1500个DB的迁移。
一 数据库准备阶段
1.1 评估阶段
1.2 评估新DB
1.2.1 IDC分布
1.2.2 访问量、存储量
1.2.3 读写比例
1.2.4 慢SQL量
1.2.5 老DB架构
二、 数据同步阶段
2.1账户同步
2.2数据同步
具体步骤
潜在风险、问题
2.3数据一致性检查
2.3.1 表个数、行数检查
2.3.2 使用mk-table-checksum一致性检查
2.4 数据一致性修复
2.4.1 停写重导数据
2.4.2 mk-table-sync修复
2.5 本阶段完成后的架构:
三、定位访问来源
3.1 show processlist采样
3.2抓TCP包头
3.3打开mysql查询记录
3.4定位具体程序
四、切换新库阶段
4.1使用L5
切换从库
切换主库
4.2未使用L5服务
切换从库
切换主库
五、切换完成
整体流程
先列个大纲,后续逐一补上,涉及的技术其实还是相对简单,主要是期间各种版本不一带来的坑,以及迁移过程中会遇到的大大小小的问题,如果密码加密方式、user表格式等
阅读(1395) | 评论(0) | 转发(0) |