Skip to content

Rate this page
Thanks for your feedback
Thank you! The feedback has been submitted.

Get free database assistance or contact our experts for personalized support.

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_status table 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_mode is set to transactions, 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_size is set > 2 GiB.

  • PS-10131: The audit_log_rotate() could be delayed up to one second because FileWriterBuffering::close() waited for a flush‑worker thread that was sleeping in mysql_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 and slave_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 single UPDATE (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 using ROW_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) and user_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 TABLE from 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 with Rdb_key_field_iterator::next(), the function correctly handles index fields created via make_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_size now rejects sizes larger than 4 GiB, rocksdb_keep_log_file_num must be greater than 0 and the max value of rocksdb_max_file_opening_threads is set to 262,144. Additionally, the rocksdb_debug_cardinality_multiplier parameter 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_cf was enabled. Previously, enabling this option left the system column‑family pointer null during RocksDB recovery, causing an assertion failure in Rdb_cf_manager::get_cf() and aborting mysqld with 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.

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