amazon-web-servicesamazon-rdsamazon-auroraaws-aurora-serverless

AWS RDS restoring snapshot with upgraded engine version giving error


I have existing Aurora serverless v1 cluster running with engine version 5.7.mysql_aurora.2.11.3. I want to convert this cluster to serverless v2 using Snapshot and restore. But while restoring from the snapshot I selected engine version 8.0.mysql_aurora.3.05.0 which is supported by serverless v2, but I got below error -

The engine version you requested for your restored DB cluster (8.0.mysql_aurora.3.05.0) is not compatible with the engine version of the DB cluster snapshot (5.7.mysql_aurora.2.11.3).

I ran the below command to verify the available upgrade versions -

[root@ip-10-191-231-102 bin]# aws rds describe-db-engine-versions --engine aurora-mysql   --engine-version 5.7.mysql_aurora.2.11.3   --query 'DBEngineVersions[].ValidUpgradeTarget[].EngineVersion' --region us-east-1
[
    "5.7.mysql_aurora.2.11.4",
    "5.7.mysql_aurora.2.12.0",
    "5.7.mysql_aurora.2.12.0.1",
    "8.0.mysql_aurora.3.02.2",
    "8.0.mysql_aurora.3.02.3",
    "8.0.mysql_aurora.3.03.1",
    "8.0.mysql_aurora.3.03.2",
    "8.0.mysql_aurora.3.04.0",
    "8.0.mysql_aurora.3.05.0",
    "8.0.mysql_aurora.3.05.0.1"
]

As can be seen the command verifies that the version can be upgraded to 8.0.mysql_aurora.3.05.0 But not sure why I am still getting the error. It will be very helpful to me if someone can point out what I am doing wrong.


Solution

  • From the docs:

    If you have a MySQL 5.7–compatible cluster and want to upgrade it to a MySQL–8.0 compatible cluster, you can do so by running an upgrade process on the cluster itself. This kind of upgrade is an in-place upgrade, in contrast to upgrades that you do by creating a new cluster.

    This means that you cannot restore a 8.0 cluster straight from a 5.7 snapshot.

    You'll need to create a 5.7 cluster first from the snapshot, then upgrade it to 8.0 in-place.