When performing an upgrade of a Cloud SQL MySQL instance from 8.0.xx to 8.4.x, the upgradableDatabaseVersions field in the instance description only displays “8.4” rather than indicating the latest available minor version, such as “8.4.4”.
When I tried to update with 8.4, it updated to 8.4.5 instead of 8.4.4.
In my views that’s expected behaviour. It is documented here - “Cloud SQL keeps your instances up-to-date with patches and minor version updates automatically.” and here - “Cloud SQL automatically provisions your instance on the default minor version.”
When you upgrade in Cloud SQL, the upgradableDatabaseVersions field only shows the major version since Cloud SQL automatically applies the latest supported minor version. That’s why your upgrade went straight to 8.4.5 instead of 8.4.4. If you’re coming from MySQL 8.0, you can pick any minor version higher than what you’re on, but once the instance is provisioned, rolling back to an older or unspecified version isn’t possible. You can check here for more details.
I am concerned that after updating MySQL to version 8.4.5 in the staging environment for testing, the production environment may upgrade to 8.4.6 instead of 8.4.5 during its update. This would result in a version disparity between staging and production environments.
In MySQL 8.0, we control version updates.
Is there a way to control which MySQL 8.4 version gets applied during updates?