1. 改造原因
(1) 由于历史原因, 本应该是同一个库的表分布在两个数据库中,需要对这两个库进行合并。
(2) 已有的数据库性能无法满足业务的增长需要, 查询卡,慢问题突出。
(3) 当前自建Mysql数据库在配置优化、性能监控、负载均衡上缺乏成熟的方案和经验, 故借托管到阿里云RDS,有利于数据库的数据安全和服务器稳定。
2. RDS数据库现状分析
(1)RDS基本配置
(2)RDS使用情况
eunke-db007: 当前只用于做RDS性能测试, 不做生产使用, 故可以释放。
eunke-db006: 用于TMS数据库的部分数据存储, CPU, 连接数, 磁盘使用率均较低, 做数据迁移, 释放该服务器。
eunke-db005: 深度使用于短信存储、消息存储, 磁盘空间已经接近满, 需要做清理或者扩容。
3. 服务器改造方案
(1)新增eunke-db008
服务器编码 | 服务器描述 | 配置描述 | 价格 |
eunke-db008 | 主库-读写 | 8 核 32GB(独享套餐) 最大连接数:5000 ; IOPS:9000 本地SSD:1000G | ¥4900 / 月 |
(2)旧数据库处理:
服务器编码 | 服务器描述 | 处理方案 |
eunke-db007 | RDS性能测试库 | 释放 |
eunke-db006 | TMS主站数据库 | 数据迁移到eunke-db008后释放 |
eunke-db005 | 短信&消息数据库 | 保留, 做历史数据清理 |
eunke-db001 | 自建Mysql主库 | 数据迁移到eunke-db008后释放 |
eunke-db002 | 自建Mysql从库 | 保留,清空数据库, 继续用于新数据库的从库 |
4. 数据迁移方案
(1)新购买eunke-db008成功后, 在eunke-db008中创建数据库hairdonkey,并配置eunke-db002和eunke-db008的主从数据同步关系(参考配置方法:https://blog.csdn.net/abcdocker/article/details/71249809),完成后进入下一步
(2)停服eunke-db001,002,005,006,007,
(a)对于eunke-db001, eunke-db005,eunke-db006,eunke-db007, 拷贝备份文件到eunke-backup-p-01服务器(专用于备份使用)
(b)对于eunke-db002, 无需备份(主库eunke-db001已备份)
完成后进入下一步
(3)在阿里云RDS中创建迁移任务, 界面如下:
创建两个迁移任务,分别将源库 eunke-db001, eunke-db006 两个库的数据迁移到 eunke-db008中, 预计耗时3小时。迁移完成后进入下一步。
(4)修改所有应用服务器(eunke-web, eunke-transaction, eunke-cms等)的数据库连接地址, 指向新的数据库eunke-db008
(5)测试应用是否访问数据是否正常
(6)完毕