今天,我们讲讲如何使用源MySQL数据库执行数据库迁移到MySQL数据库的目标Amazon RDS的方案,同时由于(源和目标数据库引擎是相同的)——模式结构、数据类型和数据库代码在源和目标数据库之间是兼容的,这意味着这种迁移不需要任何模式转换。
数据库迁移可以通过多种方式执行:可以通过迁移实例的方式,也可以通过DMS进行迁移。这里我们将使用AWS数据库迁移服务(DMS)执行连续的数据复制迁移,迁移思路如下:
-
创建目标数据库
-
设置网络
-
创建复制实例
-
创建源和目标段节点
-
配置数据库
-
创建和运行复制任务
1.1
创建目标数据库
在配置AWS DMS之前,需要在提供的AWS帐户中创建目标数据库。使用AWS关系数据库服务(RDS)来执行此活动,使得在云中轻松地设置、操作和扩展关系数据库。
1. 进入AWS管理控制台, 从服务中选择RDS然后点击创建数据库
2. 在引擎选项中,选择MySQL,版本选择MySQL 5.6.44
在设置部分,为新数据库实例配置数据库实例标识符(比如 database-1)、主用户名(比如admin)和主密码。这里密码设置为“passwr0d”
数据库选择db.m5.large来自标准DB实例类,并保留存储参数的默认值。
3. 在可用性与持久性部分,选用缺省值,创建备用实例(使用多AZ部署更加安全)
4. 在连接部分:
-
在Virtual Private Cloud (VPC),选择 Generated VPC。
-
在其它连接配置 -> VPC 安全组,选择 新建 VPC 安全组,输入名称(比如 “DB-SG”)
5. 对于 数据库身份验证,选择 密码身份验证。
6. 在 其它配置 部分,确保 监控 下面的 启用增强监测 不被选中,如下图所示:
7. 最后,点击创建数据库按钮
1.2
设置网络
由于在迁移的过程中,不使用VPN或AWS直接连接,因此DMS复制实例将需要通过公共internet连接到源数据库,而通过专用网络连接到目标数据库
1.2.1
创建复制子网组
使用AWS DMS的先决条件之一是配置一个子网组,该子网组是将由DMS复制实例使用的子网集合。
1.进入AWS控制台>服务>Database Migration Service>子网组,点击创建子网组按钮。
2.在创建复制子网组中输入以下参数值:
点击创建子网
1.2.2
配置安全组
在进行数据库迁移的时候,VPC安全组必须允许从DMS复制实例到目标RDS数据库的入站流量。
-
为DMS复制实例创建一个安全组
-
进入AWS控制台>服务> EC2 >安全组,点击创建安全组按钮。
-
输入安全组名称(例如RI-SG),给它一个描述并为VPC字段选择生成的VPC。
更新数据库安全组
-
a) 仍然AWS管理控制台 > 服务 > EC2 > 安全组屏幕中选择之前创建的数据库安全组 DB-SG
-
b) 编辑和更新数据库安全组,以允许来自端口3306上的DMS复制实例安全组的入站流量
1.3
创建DMS Replication实例
1.3.1
创建AWS DMS Replication实例
在此步骤中,将创建一个AWS数据库迁移服务复制实例,这实例启动源数据库和目标数据库之间的连接,传输数据,并缓存在初始数据加载期间源数据库上发生的任何更改。
(1)在AWS控制台内部,进入服务->数据库迁移服务。
(2)点击复制实例中的创建复制实例按钮。
(3)在“创建复制实例”屏幕上,使用以下参数值配置一个新的复制实例:
1.4
创建源环境和目标环境Endpoints
1.4.1
创建源环境endpoint
使用下面的参数去配置endpoint
打开测试端点连接(可选)部分,然后在VPC下拉菜单中选择生成的VPC并单击Run Test按钮来验证端点配置是否有效。
测试将运行一分钟,会在Status列中看到成功消息。单击Create endpoint按钮创建端点。在出现任何错误的情况下—确保正确配置了端点参数,并且复制实例是在检查了可公开访问的参数后创建的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性