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)完毕

阿里云RDS数据库改造迁移方案的更多相关文章

  1. 【故障公告】阿里云 RDS 数据库服务器 CPU 100% 造成全站故障

    非常非常抱歉,今晚 19:34 ~ 21:16 园子所使用的阿里云 RDS 数据库服务器突然出现 CPU 100% 问题,造成全站无法正常访问,由此您带来了很大的麻烦,请您谅解. 故障经过是这样的.1 ...

  2. 云上的芯脏病:奇怪的阿里云 RDS 数据库突发 CPU 近 100% 问题

    最近遇到了奇怪的阿里云 RDS 数据库突发 CPU 近 100% 问题,遇到了3次. 第一次是10月12日(周六)凌晨 3:24 负载极低的时候开始出现,早上发现后进行了主备切换,恢复了正常. 第二次 ...

  3. 阿里云 RDS 数据库又发 CPU 近 100% 的“芯脏病”

    最近云界发生了2件事,一件是大事,一件是小事,大事是阿里云与微软合作推出了开放应用模型 Open Application Model(OAM),小事是由于微软 SQL Server 在阿里云上水土不服 ...

  4. 阿里云rds数据库迁移实战(多数据源)

    由于某几个业务表数据量太大,数据由业务写,数据部门读. 写压力不大,读却很容易导致长时间等待问题(读由单独系统进行读),导致连接被占用,从而容易并发稍稍增长导致全库卡死! 于是,就拆库呗. 业务系统拆 ...

  5. 阿里云RDS数据库备份同步到自建库方法(SHELL脚本)

    一.背景: 由于阿里云RDS生产库每天都需要备份且拷贝到自建读库,而如果使用阿里云的自动拷贝到只读实例, 费用太高, 故采用自编写同步脚本方法实现. 二.前提: 1). 已开通阿里云RDS, 且开启定 ...

  6. 【故障公告】阿里云 RDS 数据库突发 CPU 近 100% 引发全站故障

    今天晚上9点我们收到阿里云的告警通知: [阿里云监控]华东1(杭州)-云数据库RDS版<cnblogsdb> [instanceId=xxx] 于21:00 发生告警, 前往诊断 CPU使 ...

  7. 阿里云RDS数据库备份文件恢复到本地mysql数据库

    一.安装mysql和xtrabackup  (1)安装mysql 因为RDS是5.6版本,所以我们本地的mysql数据库要与RDS版本对应. rpm -ivh http://repo.mysql.co ...

  8. 阿里云RDS数据库sql server 导入数据并添加作业小结

    在阿里云购买ECS服务器和RDS数据库时,要注意网络类型要一致,最好都是VPC,否则ECS不能在内网访问RDS,只能从外网访问:在RDS控制台左侧,数据库安全性的IP白名单中添加ECS外网IP:在数据 ...

  9. 阿里云RDS数据库到期实例被清除,别急着哭(阿里没有删库跑路),或许还有一线生机

    阿里资源到期未续费,数据保存期限: ECS实例的保存期是15天. Redis实例的保存期是7天. RDS实例的保存期也是7天. 过期当天会收到一条短信: [阿里云]尊敬的用户:您的RDS实例(实例ID ...

随机推荐

  1. C语言经典题目

    回顾一下吧: 一. 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 解析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 常规 ...

  2. 【python】随机数用法

    全文拷贝自:Python随机数用法 random.seed(int) 给随机数对象一个种子值,用于产生随机序列. 对于同一个种子值的输入,之后产生的随机数序列也一样. 通常是把时间秒数等变化值作为种子 ...

  3. iOS开发之微信平台分享

    在工程开始之前应该先准备在微信开放平台申请的appid,从微信平台下载sdk文件.下面开始步骤讲述 1.先将SDK导入工程目录 2.在info.plist文件设置相关信息,包括appid标识.白名单 ...

  4. postgresql :: FATAL: could not write init file

    出现此错误,原因是磁盘空间被用尽.需要清理磁盘空间即可.

  5. Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  6. ansible的lookup

    lookup路径: /usr/lib/python2.7/site-packages/ansible/plugins/lookup 所有的lookup插件列表cartesian.py dnstxt.p ...

  7. std::array中的std::get<n>()

    模板函数std::get<n>()是一个辅助函数,它能够获取到容器的第 n 个元素.模板参数的实参必须是一个在编译时可以确定的常量表达式,编译时会对它检查. get<n>()模 ...

  8. 【Android】onNewIntent调用时机

    在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent一.其他应 ...

  9. Ethereum(1)—— 基本介绍

    1 环境安装 安装Ethereum 协议的Go语言的最新实现. git clone https://github.com/ethereum/go-ethereum.git make all cd bu ...

  10. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第5章编程练习9

    #include <iostream>using namespace std;int main(){ int num; cout<<"Enter number of ...