Aurora MySQL version 3 compatible with MySQL 8.0 - Amazon Aurora

Aurora MySQL version 3 compatible with MySQL 8.0

You can use Aurora MySQL version 3 to get the latest MySQL-compatible features, performance enhancements, and bug fixes. Following, you can learn about Aurora MySQL version 3, with MySQL 8.0 compatibility. You can learn how to upgrade your clusters and applications to Aurora MySQL version 3.

Some Aurora features, such as Aurora Serverless v2, require Aurora MySQL version 3.

Features from MySQL 8.0 Community Edition

The initial release of Aurora MySQL version 3 is compatible with MySQL 8.0.23 Community Edition. MySQL 8.0 introduces several new features, including the following:

  • JSON functions. For usage information, see JSON Functions in the MySQL Reference Manual.

  • Window functions. For usage information, see Window Functions in the MySQL Reference Manual.

  • Common table expressions (CTEs), using the WITH clause. For usage information, see WITH (Common Table Expressions) in the MySQL Reference Manual.

  • Optimized ADD COLUMN and RENAME COLUMN clauses for the ALTER TABLE statement. These optimizations are called "instant DDL." Aurora MySQL version 3 is compatible with the community MySQL instant DDL feature. The former Aurora fast DDL feature isn't used. For usage information for instant DDL, see Instant DDL (Aurora MySQL version 3).

  • Descending, functional, and invisible indexes. For usage information, see Invisible Indexes, Descending Indexes, and CREATE INDEX Statement in the MySQL Reference Manual.

  • Role-based privileges controlled through SQL statements. For more information on changes to the privilege model, see Role-based privilege model.

  • NOWAIT and SKIP LOCKED clauses with the SELECT ... FOR SHARE statement. These clauses avoid waiting for other transactions to release row locks. For usage information, see Locking Reads in the MySQL Reference Manual.

  • Improvements to binary log (binlog) replication. For the Aurora MySQL details, see Binary log replication. In particular, you can perform filtered replication. For usage information about filtered replication, see How Servers Evaluate Replication Filtering Rules in the MySQL Reference Manual.

  • Hints. Some of the MySQL 8.0–compatible hints were already backported to Aurora MySQL version 2. For information about using hints with Aurora MySQL, see Aurora MySQL hints. For the full list of hints in community MySQL 8.0, see Optimizer Hints in the MySQL Reference Manual.

For the full list of features added to MySQL 8.0 community edition, see the blog post The complete list of new features in MySQL 8.0.

Aurora MySQL version 3 also includes changes to keywords for inclusive language, backported from community MySQL 8.0.26. For details about those changes, see Inclusive language changes for Aurora MySQL version 3.

Aurora MySQL version 3 prerequisite for Aurora MySQL Serverless v2

Aurora MySQL version 3 is a prerequisite for all DB instances in an Aurora MySQL Serverless v2 cluster. Aurora MySQL Serverless v2 includes support for reader instances in a DB cluster, and other Aurora features that aren't available for Aurora MySQL Serverless v1. It also has faster and more granular scaling than Aurora MySQL Serverless v1.

Release notes for Aurora MySQL version 3

For the release notes for all Aurora MySQL version 3 releases, see Database engine updates for Amazon Aurora MySQL version 3 in the Release Notes for Aurora MySQL.

New parallel query optimizations

The Aurora parallel query optimization now applies to more SQL operations:

  • Parallel query now applies to tables containing the data types TEXT, BLOB, JSON, GEOMETRY, and VARCHAR and CHAR longer than 768 bytes.

  • Parallel query can optimize queries involving partitioned tables.

  • Parallel query can optimize queries involving aggregate function calls in the select list and the HAVING clause.

For more information about these enhancements, see Upgrading parallel query clusters to Aurora MySQL version 3. For general information about Aurora parallel query, see Parallel query for Amazon Aurora MySQL.

Optimizations to reduce database restart time

Your Aurora MySQL DB cluster must be highly available during both planned and unplanned outages.

Database administrators need to perform occasional database maintenance. This maintenance includes database patching, upgrades, database parameter modifications requiring a manual reboot, performing a failover to reduce the time it takes for instance class changes, and so on. These planned actions require downtime.

However, downtime can also be caused by unplanned actions, such as an unexpected failover due to an underlying hardware fault or database resource throttling. All of these planned and unplanned actions result in a database restart.

In Aurora MySQL version 3.05 and higher, we've introduced optimizations that reduce the database restart time. These optimizations provide up to 65% less downtime than without optimizations, and fewer disruptions to your database workloads, after a restart.

During database startup, many internal memory components are initialized. The largest of these is the InnoDB buffer pool, which in Aurora MySQL is 75% of the instance memory size by default. Our testing has found that the initialization time is proportional to the size of InnoDB buffer pool, and therefore scales with the DB instance class size. During this initialization phase, the database can't accept connections, which causes longer downtime during restarts. The first phase of Aurora MySQL fast restart optimizes the buffer pool initialization, which reduces the time for database initialization and thereby reduces the overall restart time.

For more details, see the blog Reduce downtime with Amazon Aurora MySQL database restart time optimizations.