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

是否可以将AWS RDS从mysql 5.7降级到更低版本(比如5.6),mysql,amazon-web-services,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 ?

这是我需要弄清楚的,我的公司在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 ?

这不是AWS提供的开箱即用的方法,但是根据您可以接受的数据库大小和停机时间,可以使用以下两种方法来解决

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

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

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

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

使用
mysqldump
实用程序转储当前运行的数据库。使用降级的MySQL引擎启动一个新的RDS实例,将转储的数据加载到其中。 使用
mysql.rds\u Set\u external\u master
将新的降级数据库实例设置为旧数据库实例的读取副本,然后使用
mysql.rds\u start\u replication
启动复制。停止对原始数据库的写入,一旦读取副本恢复(您必须监视复制延迟),运行
mysql.rds\u reset\u external\u master
,这将提升降级实例并关闭复制。将应用程序指向降级的RDS DB实例

方法2将把停机时间缩短到最小,但执行起来有点复杂。下面是一个帮助您成功的命令参考:


您在RDS文档中也可以找到大量示例-:

不支持降级,您能确定吗?为什么需要降级?您认为降级可以解决什么实际问题?@PanagiotisKanavos这是我运行的应用程序特有的问题好的问题,可能值得考虑修复应用程序兼容性,而不是降级DB引擎@Kittystone,风险肯定更小。@Kittystone您不应该修复根本问题吗,而不是降级?“从较新的主服务器复制到较旧的从服务器可能是可行的,但通常不受支持。”--不过,对于这样的短期应用程序,我认为值得一试。@Michael sqlbot我不知道,很高兴知道,谢谢!无论如何,我可能会尝试一下:)