一、迁移场景

  • 本地环境:自建MySQL 5.7(数据量500GB+),业务要求迁移停机时间<5分钟

  • 目标架构

 

二、迁移四步法

步骤1:环境准备(耗时30分钟)

1.1 创建Aurora MySQL
# AWS CLI创建Aurora集群
aws rds create-db-cluster \--db-cluster-identifier my-aurora \--engine aurora-mysql \--engine-version 5.7 \--master-username admin \--master-user-password 'S3cure!2023' \--db-subnet-group my-subnet-group
1.2 配置网络连通
  • 推荐方案:Site-to-Site VPN

    • 在AWS VPC控制台创建虚拟私有网关

    • 配置客户网关(输入本地防火墙公网IP)

    • 建立VPN连接并下载配置文件

步骤2:AWS DMS配置(核心环节)

2.1 创建复制实例
# Python Boto3脚本(自动化创建)
import boto3
dms = boto3.client('dms')response = dms.create_replication_instance(ReplicationInstanceIdentifier='dms-replication-1',AllocatedStorage=100,  # GBReplicationInstanceClass='dms.t3.large',EngineVersion='3.4.7',PubliclyAccessible=False,VpcSecurityGroupIds=['sg-0xxxxxxx']
)
2.2 定义源/目标端点
配置项源端点(本地MySQL)目标端点(Aurora)
ServerName192.168.1.100my-aurora.cluster-xxx.rds.amazonaws.com
Port33063306
SSLrequirerequire
Extrainitstmt=SET FOREIGN_KEY_CHECKS=0parallelLoadThreads=4

步骤3:启动迁移任务(关键代码)

# DMS任务配置模板(YAML格式)
TaskSettings:TargetMetadata:ParallelLoadThreads: 8FullLoadSettings:MaxFullLoadSubTasks: 16ValidationSettings:EnableValidation: trueLogging:EnableLogging: true

任务类型选择: 

 

pietitle 迁移模式选择“全量+增量” : 75“仅全量” : 15“仅增量” : 10

步骤4:切换与验证

4.1 割接流程
  1. 停止应用写入

  2. 等待DMS延迟归零(CloudWatch查看CDCLatencySource

  3. 修改应用连接串指向Aurora终端节点

  4. 重启应用

4.2 数据一致性校验
-- 快速校验脚本
SELECT (SELECT COUNT(*) FROM orders) AS src_count,(SELECT COUNT(*) FROM aurora_db.orders) AS tgt_count,MD5(GROUP_CONCAT(id, amount)) AS src_md5,(SELECT MD5(...) FROM aurora_db.orders) AS tgt_md5;

三、避坑指南

陷阱1:大表迁移超时

  • 症状:DMS卡在Table state: LOADING

  • 解决方案

    1. 调整任务参数:

{"LobMaxSize": 65536,  // 增大LOB字段处理"BatchApplyEnabled": true  // 启用批量提交
}

                  2.对大表启用分片加载: 

ALTER TABLE orders COMMENT='DMS_SPLIT';

陷阱2:时区乱码

  • 预防措施

# 创建RDS参数组
aws rds create-db-parameter-group \--group-name my-utf8-group \--description "UTF8 settings" \--db-parameter-group-family aurora-mysql5.7
# 设置字符集
aws rds modify-db-parameter-group \--group-name my-utf8-group \--parameters "ParameterName=character_set_server,ParameterValue=utf8mb4"

四、成本优化

资源配置月成本(美元)节省建议
DMS实例dms.t3.large$108迁移后立即删除
Auroradb.r5.large$348启用预留实例-40%
数据传输500GB$45启用压缩节省50%

总成本:迁移期约$500/月,稳定后$200/月

五、增强方案

  1. 灾备扩展:启用Aurora跨区复制

aws rds create-db-cluster \--global-cluster-id my-global-db \--source-db-cluster-identifier my-aurora

 2.性能监控:CloudWatch仪表盘配置

 

迁移成果:某电商平台使用此方案:

  • 迁移耗时:3天(含测试)

  • 停机时间:72秒

  • 性能提升:TPS从1200→3500

技术栈参考:AWS DMS文档 |

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/85481.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85481.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/85481.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app 安卓 iOS 离线打包参考

App 离线打包 原生工程配置 安卓&#xff1a;【uniapp】uniapp 离线打包安卓应用或者云打包发布 app 步骤&问题记录 iOS&#xff1a;uni-app实现XCode苹果本地离线打包APP

mysql History List Length增长

HLL 持续增长导致问题 History List Length&#xff08;HLL&#xff09;是InnoDB存储引擎中用于衡量未清理的undo日志记录数量的指标。当HLL持续增长时&#xff0c;可能对数据库性能和业务产生以下影响&#xff1a; 事务处理延迟增加 高HLL值意味着大量未清理的undo日志&…

VMware替代 | 南京地铁采用ZStack ZSphere虚拟化承载核心业务

南京地铁作为中国主要城市轨道交通系统之一&#xff0c;运营规模庞大&#xff0c;地铁线路覆盖全市主要区域。其核心业务系统&#xff08;包括列车调度、信号控制、乘客信息系统等&#xff09;原部署在VMware平台上。然而&#xff0c;随着VMware产品全面转向订阅制&#xff0c;…

Electron自动更新详解—包教会版

★ 本人在公司项目中实现的Electron更新功能。 ★ 将实现更新过程的每一步都总结了出来&#xff0c;以及过程中我遇到了哪些问题&#xff0c;如何去解决的问题&#xff0c;有哪些注意事项。 ★ 使用贴合实际应用的HTTP服务器做为载体实现更新&#xff0c;而非github。 开始&…

Apache RocketMQ 消息过滤的实现原理与腾讯云的使用实践

导语 本文将系统阐述 Apache RocketMQ 消息过滤机制的技术架构与实践要点。首先从业务应用场景切入&#xff0c;解析消息过滤的核心价值&#xff1b;接着介绍 Apache RocketMQ 支持的两种消息过滤实现方式&#xff0c;帮助读者建立基础认知框架&#xff1b;随后深入剖析 SQL 语…

安卓JetPack篇——LifeCycle原理

LifeCycle 一、什么是Lifecycle 具备宿主生命周期感知能力的组件。它能持有组件&#xff08;如Activity或Fragment&#xff09;生命周期状态的信息&#xff0c;并且允许其他观察者监听宿主的状态。 二、基本原理 1、安卓10以下版本 隐形的Fragment注入在LifecycleOwner&am…

CSS 圆角边框属性(`border-radius`)笔记

一、作用&#xff1a; 用于设置元素四个角的圆角效果&#xff0c;让元素不再死板&#xff0c;更加柔和。 二、基本语法&#xff1a; border-radius: 圆角大小; 单位&#xff1a;px&#xff08;像素&#xff09;或 %&#xff08;百分比&#xff09; 示例&#xff1a; div {  …

python自助棋牌室管理系统

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…

计算机——硬盘分区和格式化

硬盘驱动器 硬盘驱动器&#xff08;HDD&#xff09;是一种成熟、经济的大容量存储解决方案。它的核心优势在于每GB成本低和超大容量。然而&#xff0c;其机械结构带来的速度瓶颈、噪音、功耗和对物理冲击的敏感性是其主要的缺点。随着 SSD 价格的持续下降和性能的绝对领先&…

从IEC到UL:技术主权竞争下的断路器合规性战略

1 国际标准体系割裂的现状 在全球低压电器领域&#xff0c;国际标准体系呈现出日益明显的割裂态势。当前主要存在四大标准体系&#xff1a;国际通用的​​IEC标准体系​​、欧洲采用的​​EN标准体系​​、北美实施的​​UL与CSA标准体系​​&#xff0c;以及具有地域特色的​…

第十六届蓝桥杯_省赛B组(D).产值调整

题目如下 这道题看似很简单&#xff0c;其实还是得观察一下&#xff0c;要不然就会… 话不多说回到题目&#xff0c;这个题的坑就在于当A,B,C三个产值相同的时候&#xff0c;再怎么变还是之前的产值&#xff0c;或者也可以通过另外一种方法理解&#xff1a; 通过一个案例来举…

设计模式 | 单例模式——饿汉模式 懒汉模式

单例模式 文章目录 单例模式一、饿汉模式&#xff08;Eager Initialization&#xff09;1. 定义2. 特点3. 饿汉单例模式&#xff08;定义时-类外初始化&#xff09;4. 实现细节 二、懒汉模式&#xff08;Lazy Initialization&#xff09;1. 定义2. 特点3. 懒汉单例模式&#xf…

dify本地部署及添加ollama模型(ubuntu24.04)

说明&#xff1a;ubuntu是虚拟机的&#xff0c;用的桥接模式&#xff0c;与本地同局域网不同ip地址。 参考VM虚拟机网络配置&#xff08;ubuntu24桥接模式&#xff09;&#xff1a;配置静态IP前提&#xff1a;需要有docker及docker-compose环境 参考ubuntu24安装docker及docker…

Python爬虫实战:研究multiprocessing相关技术

一、引言 1.1 研究背景与意义 随着互联网信息的爆炸式增长,网络爬虫已成为获取海量数据的重要工具。传统的单线程爬虫在面对大规模数据采集任务时效率低下,无法充分利用现代计算机多核 CPU 的优势。多线程爬虫虽然在一定程度上提高了效率,但受限于 Python 的全局解释器锁(…

6.18 redis面试题 日志 缓存淘汰过期删除 集群

Redis有哪2种持久化方式&#xff1f;分别的优缺点是什么&#xff1f; Redis 的重写 AOF 过程是由后台子进程 bgrewriteaof 来完成的。 过期删除策略和内存淘汰策略有什么区别&#xff1f; 内存淘汰策略是在内存满了的时候&#xff0c;redis 会触发内存淘汰策略&#xff0c;来淘…

什么时候会发生内存泄漏?

1. 内存泄漏是什么&#xff1f; 定义&#xff1a;内存泄漏是指程序中的对象已经不再需要&#xff0c;但由于被其他对象错误引用&#xff0c;导致垃圾回收器&#xff08;GC&#xff09;无法回收它&#xff0c;从而长期占用内存空间的现象。 2. 内存泄漏的危害 问题具体表现内存…

用RSA算法模拟类的适配器模式

“RAS算法”这个术语本身并不常见或标准&#xff0c;它可能指向两个主要领域的不同概念&#xff0c;具体取决于上下文&#xff1a; 更可能是拼写错误&#xff1a;指 RSA 算法&#xff08;密码学&#xff09; 这是最常见的情况。 “RAS” 极有可能是 “RSA” 的拼写错误。RSA 算…

CARSIM-与C#自动化测试方案

using System; using System.Runtime.InteropServices; using System.Collections.Generic;namespace CarSimAutomation {/// <summary>/// CarSim COM 自动化测试接口/// 封装所有 CarSim COM 功能用于自动化测试/// </summary>[ComVisible(true)][ClassInterface…

企微CRM系统中的任务分配与效率提升技巧

在数字化管理时代&#xff0c;企业微信(企微)与CRM系统的深度融合&#xff0c;为企业提供了更高效的客户管理与团队协作方案。企微CRM软件不仅整合了客户沟通、销售跟进、数据分析等功能&#xff0c;还能通过智能任务分配优化团队效率。本文将深入探讨企微CRM管理系统的任务分配…

day66—BFS—最短的桥(LeetCode-934)

题目描述 给你一个大小为 n x n 的二元矩阵 grid &#xff0c;其中 1 表示陆地&#xff0c;0 表示水域。 岛 是由四面相连的 1 形成的一个最大组&#xff0c;即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。 你可以将任意数量的 0 变为 1 &#xff0c;以使两座…