What is New in MySQL 9.1
MySQL 9.1 is an Innovation release that introduces useful enhancements in security, atomic DDL operations, replication monitoring, and development tooling. It brings better default behavior for resource usage, improved diagnostics through new components, and refinements to the optimizer and JavaScript stored program support.
This version also continues cleaning up older features while strengthening the component-based architecture.
Security Improvements
Security handling has been refined in several areas. The audit log now correctly processes user names that do not start with alphanumeric characters. AES ECB mode support has been removed from all keyring components due to security concerns. The bundled OpenSSL library has been updated to version 3.0.15 on applicable platforms.
InnoDB and DDL Enhancements
A significant improvement is the introduction of fully atomic and crash-safe CREATE DATABASE and DROP DATABASE operations for storage engines that support atomic DDL, including InnoDB.
The default value of innodb_log_writer_threads is now automatically set to OFF on systems with fewer than 32 logical processors to reduce overhead in smaller environments.
Multiple stability fixes address issues with INSTANT DDL, full-text search, spatial indexes, bulk loading, and recovery scenarios. The Performance Schema tables data_locks and data_lock_waits have been redesigned to reduce mutex contention under high concurrency.
Replication Updates
Binary log transaction dependency tracking now uses a more memory-efficient data structure, reducing space usage by approximately 60%.
Group Replication gains better visibility with new INFO-level logging for key actions. A new Enterprise component component_group_replication_flow_control_stats provides detailed flow control throttling statistics through dedicated status variables.
Another Enterprise addition is the Replication Applier Metrics component, which adds more useful tables to the Performance Schema for monitoring applier progress and worker activity.
Optimizer and Query Improvements
The optimizer now supports an alternative syntax for ROLLUP: GROUP BY ROLLUP (col1, col2), making queries more readable and consistent with other database systems.
EXPLAIN output has been enhanced in both JSON and TREE formats with clearer information about lookup conditions, semijoin strategies, and Multi-Range Read usage.
New global status variables help track temporary table conversions caused by memory limits:
TempTable_count_hit_max_ramCount_hit_tmp_table_size
New Components and Extensibility
The new Option Tracker component (Enterprise Edition) provides visibility into server option usage with dedicated Performance Schema tables and a new privilege OPTION_TRACKER_UPDATER.
A new AWS Keyring component component_keyring_aws replaces the older keyring plugin. The Connection Control and other legacy plugins continue moving toward component-based implementations.
JavaScript Stored Programs (MLE)
JavaScript routines now consistently use the utf8mb4 character set. The INFORMATION_SCHEMA.ROUTINES.COLLATION_CONNECTION column reflects utf8mb4_0900_ai_ci by default.
BLOB handling in prepared statements within stored routines has been corrected to prevent invalidation after deallocation.
Deprecations and Behavior Changes
Several older items continue to be phased out, including reliance on the SUPER privilege for certain spatial reference system operations. Administrators should review usage of legacy plugins and prepare for future component migrations.
Upgrade Considerations
| Area | Important Note |
|---|---|
| Database Operations | CREATE DATABASE and DROP DATABASE are now fully atomic |
| InnoDB Logging | innodb_log_writer_threads defaults to OFF on smaller systems |
| Monitoring | New components provide richer Performance Schema metrics for replication and options |
| JavaScript Routines | Character set handling is now standardized to utf8mb4 |
MySQL 9.1 delivers practical improvements that enhance reliability, observability, and modern development capabilities while maintaining strong compatibility with existing applications.