MySQL 8.0.22 Release Highlights and New Features
MySQL 8.0.22 introduces prepared‑statement improvements, a new SHOW PROCESSLIST implementation via Performance Schema, UTC timestamp handling, read‑only schemas, error‑log access through Performance Schema, user‑management enhancements, optimizer push‑down, replication auto‑failover, Router scalability upgrades, and several deprecations and removals.
The MySQL development team announced that MySQL 8.0.22 is now available for download, featuring bug fixes and a set of new capabilities detailed in the release notes.
Prepared Statements
Each DML statement is prepared only once (WL#9384), reducing execution overhead and simplifying code.
SHOW PROCESSLIST
SHOW PROCESSLIST is now implemented as a view on the processlist table in performance_schema , avoiding global mutex contention and allowing the use of the system variable -performance-schema-show-processlist=ON|OFF to select the implementation.
TIMESTAMP
A new AT TIME ZONE operator enables retrieval of UTC timestamps stored in tables; for example, a session in CET at 2020-04-29 16:43:19 returns 2020-04-29 14:43:19 UTC.
SELECT cast(a AT TIME ZONE 'UTC' AS DATETIME) FROM t1;Read‑Only Schema
A new READ ONLY schema option can be set with ALTER SCHEMA to prohibit write operations; it requires ALTER privileges on the schema.
ALTER {DATABASE | SCHEMA} [db_name]
alter_option ...
alter_option: {
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
| [DEFAULT] ENCRYPTION [=] {'Y'|'N'}
| READ ONLY [=] {DEFAULT|0|1}
}Error Log
The error log can now be queried via the error_log table in Performance Schema, providing access without OS‑level permissions.
User Management
Locking on ACL tables has been relaxed (WL#14087) to avoid blocking non‑admin users, and DDL on ACL tables now improves when other connections hold locks (WL#14084). Dependencies between database objects and user definitions have been tightened (WL#14073).
Optimizer
WHERE‑condition push‑down to derived tables reduces row processing (WL#8084). The CAST function now accepts a YEAR argument, allowing conversion of various types to YEAR (WL#14015).
SELECT * FROM (SELECT i,j FROM t1) AS dt WHERE i > 10; SELECT * FROM (SELECT i,j FROM t1 WHERE i > 10) AS dt;Replication
Automatic reconnection to alternative asynchronous replication channels (WL#12649) adds fault tolerance. Slave commands have been renamed to replica commands (WL#14171). Variable group_replication_ip_whitelist is deprecated in favor of group_replication_ip_allowlist (WL#14175).
Router
Router now supports a higher maximum number of connections (WL#10703) by using one OS thread per CPU core instead of per connection. A REST API can be enabled during bootstrap (WL#13906), and systemd notifications reduce test suite runtime (WL#13707, WL#13708).
Other
Periodic data storage options allow output or dump to files (WL#13926) with three new GLOBAL variables: select_into_disk_sync , select_into_buffer_size , and select_into_disk_sync_delay . InnoDB adds innodb_extend_and_initialize to use fallocate() for faster inserts (WL#13782). The client library now supports DNS SRV records (WL#13905) for easier high‑availability configurations.
Deprecation and Removal
INFORMATION_SCHEMA.TABLESPACES is deprecated and will be removed in a future major release (WL#14064). The memcache plugin is deprecated with warnings on INSTALL PLUGIN (WL#14131).
These are the main updates in MySQL 8.0.22.
For the full release notes, see MySQL 8.0.22 Release Notes .
Aikesheng Open Source Community
The Aikesheng Open Source Community provides stable, enterprise‑grade MySQL open‑source tools and services, releases a premium open‑source component each year (1024), and continuously operates and maintains them.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.