RDS MySQL Version Upgrade
You want to move an RDS MySQL database onto a newer engine version. Minor
version upgrades are self-service through SVIEW. Read replicas must be upgraded
and validated before the primary (master) database, otherwise replication
breaks.
Before you start
- Choose the target version. Use the version list AWS offers for your
instance in RDS → Databases → Modify → DB engine version, and pick the
newest minor version in your current major series. Confirm your application and
its MySQL driver support it before you start. - Check the support status of your current version. In the AWS Console under
RDS → Databases, the instance shows whether its engine version is still in
AWS standard support, and whether it has moved into paid Extended Support. A
version already on Extended Support is billed at a premium per instance-hour,
so it should be upgraded promptly rather than scheduled loosely. If you cannot
see this, raise a request and we will confirm the end-of-standard-support date
for you. - Major-version upgrades are not self-service. The steps below cover minor
upgrades within the same major version. A major-version change (for example
MySQL 5.7 to 8.0) needs compatibility checks, a tested rollback path, and a
planned window — raise a request instead of applying it yourself. - Take the upgrade in a non-production environment first where you can.
Step 1 — identify the read replicas
- Open the RDS MySQL Component in SVIEW.
- Note every read replica attached to it.
Step 2 — upgrade the read replicas only
For each read replica:
- Open the Modify section.
- Set the engine version to your chosen target:
engine_version: "<target-version>"- Click Apply — immediately if that is allowed, or during the maintenance
window if one is required.
Do not touch the master database yet.
Step 3 — validate each replica
After each replica finishes, confirm:
- The engine version shows the target version.
- Replication reports no errors.
Seconds_Behind_Masteris0.
Step 4 — upgrade the primary (master) database
Only once every replica is healthy and on the target version:
- Open the Modify section for the master database.
- Set the engine version:
master_database_engine_version: "<target-version>"- Click Apply.
Step 5 — final validation
Confirm the master and all replicas report the target version and that
replication is running without errors, with Seconds_Behind_Master at 0.
Step 6 — application check
Confirm your application connects normally afterwards. Run a few representative
queries and watch for performance or compatibility changes.
Common issues
| Issue | What to check |
|---|---|
| Replication errors after the master upgrade | A replica was left on the older version. Replicas must always be upgraded first. |
| The target version is not offered | It may not be available for your instance class or region, or it may be a major-version step. Raise a request. |
| The upgrade does not start | An apply may be waiting for the maintenance window. Check the Component status in SVIEW. |
If the issue persists, raise a request with the database name, the current
version, and the target version.
Related articles
Updated about 5 hours ago