创建新的 AWS RDS 实例并导入数据,而不是将 MySQL 版本从 5.6 更新到 5.7
Posted
技术标签:
【中文标题】创建新的 AWS RDS 实例并导入数据,而不是将 MySQL 版本从 5.6 更新到 5.7【英文标题】:Create new AWS RDS instance and import data rather than update MySQL version from 5.6 to 5.7 【发布时间】:2021-05-10 00:45:00 【问题描述】:我目前有一个基于 mysql 5.6 版的 RDS 实例在 AWS 中运行。我需要将其更新到 5.7,建议的主要内容是使用 AWS 控制台中的主要更新功能。但是,我查看了文档,它似乎很复杂,所以我想知道以下过程是否是一个有效的解决方法,可以达到相同的结果?
-
基于mysql版本8(也可以做5.7)新建一个RDS实例
将数据库中的数据从原始 RDS 实例导出到转储文件中(使用 mysql 工作台的导出数据功能)
重新连接现有堡垒 EC2 实例以连接到具有 mysql 版本 8 的新 RDS 实例(使用 mysql 工作台)并通过该实例访问新 RDS
将步骤 2 中创建的转储文件中的数据库导入新的 RDS 实例(使用 mysql 工作台的导入数据功能)
配置应用程序以使用新 RDS 实例的详细信息
这是一个有效的程序吗?如果不是,那有什么问题?
【问题讨论】:
【参考方案1】:您的程序看起来不错。不要忘记在新的 RDS 实例上设置入站规则。连接到新实例后,使用 MySQL Workbench 是移动数据的好方法。完成新版本的所有设置、入站规则集和数据移植到新实例后,请务必同时删除旧 RDS 实例。
【讨论】:
有什么方法可以让我保留它(免费),以防万一出现问题,也许可以通过创建它的只读副本,如果是这样的话? 这个问题的答案很好——docs.aws.amazon.com/AmazonRDS/latest/UserGuide/… 谢谢 - 我还有一个问题。关于为安全设置入站规则,我不能 100% 确定这意味着我需要设置什么作为可用区、vpc、子网和 VPC 安全组。对于 AZ、VPC 和子网,是否只是确保应用程序(EC2 实例)和 RDS 都在同一个中?而对于 vpc 安全组,您如何做到只有特定的 EC2 实例才能访问它? 这里有一个 AWS 教程可以提供帮助 - github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/…。要从您的 DEV 机器连接到 RDS,您需要指定您的开发机器的 IP 地址。当您设置新的入站规则时,有一个选项会显示 MyIP。以上是关于创建新的 AWS RDS 实例并导入数据,而不是将 MySQL 版本从 5.6 更新到 5.7的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将 AWS RDS Postgres SSL 连接与 DNS 别名而不是 AWS 端点一起使用?
如何在 AWS elasticbeanstalk 上删除环境而不删除 RDS