Home / Databases / MySQL

DatabasesCheat sheetIntermediate

Advisory: choosing a managed MySQL service - RDS for MySQL, Aurora MySQL, Azure Flexible Server or HeatWave

Managed MySQL services differ in storage design, failover speed, replica scaling, version policy and analytics features. Check your versions, plugins and replication needs, compare services on those points within your cloud, and test failover and major upgrades before moving production.

Deepak Bhardwaj2 min read

Applies toAmazon RDS for MySQL, Amazon Aurora MySQL, Azure Database for MySQL Flexible Server, OCI HeatWave MySQL, Google Cloud SQL for MySQL

Comparison points

Area What to check
Storage Instance-attached volumes (RDS, Azure, Cloud SQL) vs shared distributed storage (Aurora)
HA Standby in another zone; failover time; synchronous or not
Read replicas Count, lag, cross-region replicas
Versions 8.0 vs 8.4 LTS availability; end-of-support dates and paid extended support
Upgrades In-place major upgrade, blue/green deployments
Features Plugins, SUPER restrictions, binlog access for CDC, time zones, character sets
Analytics HeatWave (in-database analytics/ML on OCI and other clouds), zero-ETL integrations (Aurora)
Pricing Instance, storage, I/O (Aurora standard vs I/O-Optimized), backups

Typical fits

Situation Often a good fit
AWS, standard OLTP RDS for MySQL
AWS, many read replicas, fast failover, high I/O Aurora MySQL
Azure Azure Database for MySQL Flexible Server (zone-redundant HA)
Need analytics on operational data without ETL HeatWave MySQL
GCP Cloud SQL for MySQL

Application compatibility checks

SELECT @@version, @@sql_mode, @@character_set_server, @@collation_server;
SELECT plugin_name, plugin_status FROM information_schema.plugins WHERE plugin_status = 'ACTIVE';
SELECT user, host FROM mysql.user WHERE Super_priv = 'Y';
  • Applications or tools that need SUPER or file system access need changes.
  • Definers on views/procedures referencing users that won't exist.
  • Large max_allowed_packet or custom variables some services restrict.

Test plan

  1. Migrate a copy (see the MySQL transformation posts) and run load tests.
  2. Force failover; measure application recovery time.
  3. Rehearse the major upgrade path the service offers.
  4. Check monitoring, slow query log and Performance Schema access.

Tip

Note each service's version end-of-support dates. Some charge for extended support on old major versions, which can change the cost picture quickly.

Checklist

  • Version, plugins, privileges and modes inventoried
  • HA, replica and CDC needs listed
  • Services compared
  • Failover and upgrade rehearsed
  • Cost modelled including I/O and extended support