是否可以将 AWS RDS 从 mysql 5.7 降级到较低版本(比如 5.6)

Kit*_*one 4 mysql amazon-web-services

这是我需要弄清楚的事情,我的公司在 AWS 上运行了许多生产 RDS。一些 mysql RDS 运行 5.7 ,我需要将 mysql 降级到 5.6 或 5.5 。此功能是否由 AWS 提供。

Scenario: A mysql server already up and running with mysql version 5.7, Downgrade this to 5.6 

        -> If this is possible then what are the possible ways ?
        -> How to do this ?
Run Code Online (Sandbox Code Playgroud)

Mic*_*sek 6

这不是 AWS 开箱即用的功能,但是可以通过以下 2 种方法解决,具体取决于您可以接受的数据库大小和停机时间。

可能值得考虑修复应用程序兼容性而不是降级数据库,这是风险更大的操作。

1.转储、恢复和切换方法

使用mysqldump实用程序转储当前运行的数据库。使用降级引擎启动一个新的 RDS 实例,将转储的数据加载到其中。将您的应用程序切换为使用具有降级引擎的 RDS 实例。

2. 转储、恢复、复制和切换方法

使用mysqldump实用程序转储当前运行的数据库。使用降级的 MySQL 引擎启动一个新的 RDS 实例,将转储的数据加载到其中。使用 将新的降级数据库实例设置为旧数据库实例的只读副本,mysql.rds_set_external_master然后使用 开始复制mysql.rds_start_replication。停止写入您的原始数据库,一旦读取副本赶上(您必须监控复制滞后),运行mysql.rds_reset_external_master这将提升您降级的实例并关闭复制。将您的应用程序指向降级的 RDS 数据库实例。

方法 2 将您的停机时间缩短到最短,但执行起来有点复杂。下面是熟悉的命令参考以帮助您成功:Amazon RDS SQL 参考上的 MySQL

您还会在 RDS 文档中找到大量示例 -从 MySQL 数据库实例导入和导出数据