Percona Server for MySQL 8.0.44-35 (2025-11-27)¶
Get started with Quickstart Guide for Percona Server for MySQL.
Percona Server for MySQL 8.0.44-35 includes all the features and bug fixes available in the MySQL 8.0.44 Community Edition and enterprise-grade features developed by Percona.
Release highlights¶
Announcement – Discontinuation of the Percona PRO Program
Percona has consolidated its build offerings. The Pro builds are no longer required, and all features have been merged into the main open source Community release.
MySQL 8.0.44¶
Improvements and bug fixes provided by Oracle for MySQL 8.0.44 and included in Percona Server for MySQL are the following:
-
Fixed an issue where parallel scan thread creation could fail, causing assertion failures when falling back to single-thread mode. (Bug #38325137)
-
Fixed an issue where virtual index rollback could fail on 32-bit builds of MySQL Server under certain circumstances. (Bug #38167527)
-
Fixed an issue where very large buffer pools could require excessive memory chunks per instance, potentially causing allocation failures. The allocation is now validated to ensure proper memory allocation. (Bug #37994397)
-
Fixed an issue where assertion failures could occur due to data size and bounds mismatches during DDL file operations. (Bug #37882398)
-
Fixed an issue related to modifying the internal Full-Text Search (FTS) configuration. (Bug #37792010)
-
Fixed an issue related to virtual indexes. (Bug #37602657)
-
Fixed an issue where confusing warning messages could appear when row sizes exceeded maximum allowed limits with
innodb_strict_mode=OFF, such as during table selection or column dropping operations. Error messages have been improved for clarity. (Bug #37003342, Bug #36768046, Bug #36867372)
Find the complete list of bug fixes and changes in the MySQL 8.0.44 Release Notes.
Improvements¶
- PS-8980: Percona Server for MySQL 8.0.44-35 adds the
performance_schema.account_failed_login_lock_statustable which lists the user accounts that have been temporarily locked after reaching the limit for failed login attempts.
Bug Fixes¶
-
PS-9220: During slow‑query‑log rotation the server attempts to write to the base file
slow.log(which isn’t created), raises an error -errno 2 – No such file or directory, but the logs are written with numeric suffixes (for example,slow.log.000087) that obey the configured size and file‑count limits. -
PS-9452: When the server uses a thread‑pool (thread_handling = pool‑of‑threads) and the variable
thread_pool_high_prio_modeis set totransactions, every new client connection is placed in the normal‑priority queue. The queue is processed only if there is a free thread in the pool. -
PS-9834: The Audit Log Filter incorrectly deletes all rotated logs if the
audit_log_filter.max_sizeis set > 2 GiB. -
PS-10131: The
audit_log_rotate()could be delayed up to one second becauseFileWriterBuffering::close()waited for a flush‑worker thread that was sleeping inmysql_cond_timedwait. The fix signals the flush‑worker immediately before the wait, ensuring prompt buffer flushing and preventing rotation delays. -
PS-9837: A server exit occurs on a replica that uses
replica_parallel_workers> 0 andslave_preserve_commit_order=ON when many threads repeatedly delete rows and then insert new rows having the same secondary‑index values, creating duplicate index entries. Changing the workload to a singleUPDATE(instead of a delete‑followed‑by‑insert) prevents the duplicate‑key situation and stops the replica from exiting. -
PS-10283: A debug‑assertion failure (
field.field_no < dict_index_get_n_fields(index)) that occurred during recovery of InnoDB tables usingROW_FORMAT=REDUNDANT. The fix added a conditional bypass of the index‑field validation when the server was in recovery mode and the table was non‑compact (redundant), preventing the assertion from triggering and allowing the server to start and recover normally.
MyRocks¶
-
PS-9838: The server’s estimate for how many rows fit in one index leaf (
guess_rec_per_key()) uses two numbers:used_keyparts(the parts actually stored in the index) anduser_defined_key_parts(the parts the user declared). If these two counts differ, the formula calculates the wrong capacity, leading to inaccurate index‑size estimates. -
PS-9680: Calling
ALTER TABLEfrom multiple threads in parallel could trigger the error “Invalid argument: Global seqno is required, but disabled.” -
PS-9840: An issue during initialization could cause the process to stop midway when encountering a corrupted datadir. Because the system did not mark initialization as complete, the cleanup phase was skipped, leaving internal RocksDB structures unreleased and resulting in an assertion failure. The fix ensures that validation occurs only after initialization is marked as complete, guaranteeing that cleanup always runs and all resources are properly freed.
-
PS-9842: An assertion could occur due to an invalid iterator. After this fix, Rdb_iterator_base is always invalidated when an error occurs.
-
PS-10067: This fix resolves malformed reads and improves the stability of index iteration. The update fixed
Rdb_convert_to_record_key_decoder::skip()so that it now advances both the key‑slice reader and the unpack‑information reader. By consuming the per‑field metadata during iteration withRdb_key_field_iterator::next(), the function correctly handles index fields created viamake_unpack_unknown_varlength(). -
PS-10075: An issue could cause a checksum mismatch when reading records. In some cases, the reader would skip per-field metadata but still attempt to read the checksum, resulting in an invalid position. This fix ensures that the checksum is only verified when the reader is correctly positioned, preventing false checksum errors.
-
PS-10210: Added enforcement for the ranges for the following MyRocks variables:
rocksdb_block_sizenow rejects sizes larger than 4 GiB,rocksdb_keep_log_file_nummust be greater than 0 and the max value ofrocksdb_max_file_opening_threadsis set to 262,144. Additionally, therocksdb_debug_cardinality_multiplierparameter was constrained to valid ranges, eliminating the crashes that occurred when it was set to 0. -
PS-10227: An unexpected server exit occurred when
rocksdb_table_stats_skip_system_cfwas enabled. Previously, enabling this option left the system column‑family pointer null during RocksDB recovery, causing an assertion failure inRdb_cf_manager::get_cf()and abortingmysqldwith signal 6. The fix introduced proper initialization and safety checks for the system column family, allowing the server to start normally while still skipping system‑CF statistics.
Packaging and build notes¶
-
Percona Server for MySQL 8.0 does not support Debian 13 or Red Hat Enterprise Linux 10.
-
Percona Server for MySQL 8.0 has ended support for Ubuntu 20.04.
Useful links¶
Install Percona Server for MySQL 8.0
Upgrade Percona Server for MySQL from 5.7 to 8.0
The Percona Server for MySQL GitHub repository
Download product binaries, packages, and tarballs at Percona Product Downloads
Contribute to the documentation
For training, contact Percona Training - Start learning now