A few days before re:Invent 2021, AWS announced the general availability of Aurora MySQL 3 with MySQL 8.0 compatibility. The latest major MySQL version adds features such as common table expressions (CTEs), role-based authentication, invisible indexes and instant DDL previously lacking on Aurora.
The new major version introduces improvements to binary log replication, including multi-threaded replication (MTR), replication filtering and binary log transaction compression. Aditya Samant and Vlad Vlasceanu, database solution architects at AWS, explain how Aurora will keep closer compatibility with the MySQL Community Edition going forward:
Starting with Aurora MySQL 3, we will change this release strategy to follow MySQL Community Edition releases more closely. Each Aurora MySQL 3 release will be mapped to a corresponding MySQL 8.0 Community Edition release. For example, Aurora MySQL 3.01 maps to MySQL 8.0.23 and is wire-compatible with that specific Community Edition minor version. (...) Aurora MySQL 3 minor versions will not only continue to add Aurora-specific fixes and features, but will also maintain currency with MySQL 8.0 Community Edition to ensure all community bug fixes and features are continuously incorporated.
Customers already running a MySQL 8.0 database on RDS can migrate to Aurora MySQL 3 either restoring a RDS snapshot of the instance to Aurora or creating an Aurora read replica before promoting it to a standalone primary DB cluster to accept reads and writes.
MySQL 8.0 has been generally available for over three years, with Amazon RDS for MySQL supporting it since the end of 2018 and Amazon RDS Proxy introducing it recently. Pintu Panigrahi, senior software engineer at Zenefits, tweeted last summer:
Aurora MySQL 8.0 support is still a long pending request from a lot of AWS customers who are already or want to move into a DBaaS.
The lack of MySQL 8 compatibility triggered in the past threads on StackExchange and Reddit asking to be able to use features like functional indexes on Aurora, with Amazon announcing an optimistic coming soon at re:Invent 2020. Ben Bauer, database architect at Back Market, celebrates the announcement:
The wait was long but finally, we got AWS RDS Aurora MySQL 8.0 compatibility!
AWS is not the only cloud provider offering a managed MySQL 8.0, with both Azure Database for MySQL and Google Cloud SQL supporting the latest major version of MySQL. MySQL Database Service is the cloud offering by Oracle. Samant and Vlasceanu add a warning about long-term supported versions:
A long-term supported (LTS) version of Aurora MySQL 3 is coming. In the meantime, you should consider Aurora MySQL 2 (MySQL 5.7 compatible) if you need an LTS version of the database engine, where you can be assured that software updates are limited to security and bug fixes.
At launch, Aurora MySQL 3 provides compatibility with MySQL 8.0.23 and is available in all AWS Regions where Aurora is supported. There are no differences in pricing between major versions of Aurora.