|
| 1 | +# Percona Server for MySQL 8.0.42-33 (2025-05-19) |
| 2 | + |
| 3 | +Get started with [Quickstart Guide for Percona Server for MySQL](../quickstart-overview.md). |
| 4 | + |
| 5 | +[Percona Server for MySQL 8.0.42-33](https://www.percona.com/mysql/software) includes all the features and bug fixes available in the [MySQL 8.0.42 Community Edition](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-42.html) and enterprise-grade features developed by Percona. |
| 6 | + |
| 7 | +## Release highlights |
| 8 | + |
| 9 | +### Percona Server for MySQL 8.0.42-33 |
| 10 | + |
| 11 | +* Improves the `audit_log_filter_set_user()` UDF to accept account names with wildcard characters (`'%'` and `'_'`) in the host part. For example, you can use `‘usr1@%'`, `‘usr2%192.168.0.%’`, or `'usr3@%.mycorp.com'`. |
| 12 | + |
| 13 | +* Updates the C++ level of the KMPI library to enhance error handling capabilities. |
| 14 | + |
| 15 | +* Improves optimizer behavior by restoring correct handling of const tables in `test_quick_select()`. A MySQL Upstream refactor (commit [9a13c1c](https://github.com/percona/percona-server/commit/9a13c1c6971f4bd56d143179ecfb34cca8ecc018)) removed the `QEP_TAB` dependency, causing `get_quick_record_count()` to no longer pass const table information. This could lead to suboptimal range scan boundaries. The applied patch resolves the issue by explicitly passing `const_tables` to `test_quick_select()`, ensuring consistent behavior with the pre-refactor logic. |
| 16 | + |
| 17 | +The latest MyRocks storage engine incorporates code based on RocksDB version 9.3.1. Percona has applied minor modifications to the original RocksDB codebase. Check the list of modifications at [https://github.com/percona/rocksdb/](https://github.com/percona/rocksdb/commit/2864cd95ca72bc4a2e93fe461dbd980f8e2357be). |
| 18 | + |
| 19 | +This release adds the following changes to the list of [MyRocks variables](../variables.md). |
| 20 | + |
| 21 | +**Adds new MyRocks variables** |
| 22 | + |
| 23 | +* [`--rocksdb_bulk_load_compression_parallel_threads`](../variables.md#rocksdb_bulk_load_compression_parallel_threads) |
| 24 | +* [`--rocksdb_bulk_load_enable_unique_key_check`](../variables.md#rocksdb_bulk_load_enable_unique_key_check) |
| 25 | +* [`--rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds`](../variables.md#rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds) |
| 26 | +* [`--rocksdb_enable_udt_in_mem`](../variables.md#rocksdb_enable_udt_in_mem) |
| 27 | +* [`--rocksdb_invalid_create_option_action`](../variables.md#rocksdb_invalid_create_option_action) |
| 28 | +* [`--rocksdb_io_error_action`](../variables.md#rocksdb_io_error_action) |
| 29 | +* [`--rocksdb_table_stats_skip_system_cf`](../variables.md#rocksdb_table_stats_skip_system_cf) |
| 30 | +* [`--rocksdb_use_io_uring`](../variables.md#rocksdb_use_io_uring) |
| 31 | +* [`--rocksdb_enable_instant_ddl`](../variables.md#rocksdb_enable_instant_ddl) |
| 32 | +* [`--rocksdb_enable_instant_ddl_for_append_column`](../variables.md#rocksdb_enable_instant_ddl_for_append_column) |
| 33 | +* [`--rocksdb_enable_instant_ddl_for_column_default_changes`](../variables.md#rocksdb_enable_instant_ddl_for_column_default_changes) |
| 34 | +* [`--rocksdb_enable_instant_ddl_for_drop_index_changes`](../variables.md#rocksdb_enable_instant_ddl_for_drop_index_changes) |
| 35 | +* [`--rocksdb_enable_instant_ddl_for_table_comment_changes`](../variables.md#rocksdb_enable_instant_ddl_for_table_comment_changes) |
| 36 | +* [`--rocksdb-bulk-load-compression-parallel-threads`](../variables.md#rocksdb_bulk_load_compression_parallel_threads) |
| 37 | +* [`--rocksdb-bulk-load-enable-unique-key-check`](../variables.md#rocksdb_bulk_load_enable_unique_key_check) |
| 38 | +* [`--rocksdb-debug-skip-bloom-filter-check-on-iterator-bounds`](../variables.md#rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds) |
| 39 | + |
| 40 | +**Changes default values of MyRocks variables** |
| 41 | + |
| 42 | +* [`--rocksdb_disable_instant_ddl`](../variables.md#rocksdb_disable_instant_ddl) - the default value is changed from `ON` to `OFF`. |
| 43 | + |
| 44 | +* [`--rocksdb_file_checksums`](../variables.md#rocksdb_file_checksums) - the data type is changed from `Boolean` to `ENUM`. Also, the default value is changed from `OFF` to `CHECKSUMS_OFF`. |
| 45 | + |
| 46 | +* [`--rocksdb_compaction_readahead_size`](../variables.md#rocksdb_compaction_readahead_size) - the default value is changed from `0` (zero) to `2097152`. |
| 47 | + |
| 48 | +**Deprecates MyRocks variable** |
| 49 | + |
| 50 | +* [`--rocksdb_disable_instant_ddl`](../variables.md#rocksdb_disable_instant_ddl) - this variable is being deprecated and is expected to be removed in a future release. |
| 51 | + |
| 52 | +**Removes MyRocks variables** |
| 53 | + |
| 54 | +* [`--rocksdb-access-hint-on-compaction-start`](../variables.md#rocksdb_access_hint_on_compaction_start) |
| 55 | +* [`--rocksdb_large_prefix`](../variables.md#rocksdb_large_prefix) |
| 56 | +* [`--rocksdb_strict_collation_check`](../variables.md#rocksdb_strict_collation_check) |
| 57 | +* [`--rocksdb_strict_collation_exceptions`](../variables.md#rocksdb_strict_collation_exceptions) |
| 58 | + |
| 59 | +### MySQL 8.0.42 |
| 60 | + |
| 61 | +Improvements and bug fixes provided by Oracle for MySQL 8.0.42 and included in Percona Server for MySQL are the following: |
| 62 | + |
| 63 | +* Fixed an issue where `CHECK TABLE` sometimes incorrectly reported that spatial indexes were corrupted. (Bug #37286473) |
| 64 | + |
| 65 | +* Fixed an issue in InnoDB redo log recovery to improve data safety after a crash. (Bug #37061960) |
| 66 | + |
| 67 | +* Fixed an issue where reading `index_id` values could lead to incorrect behavior with indexes. (Bug #36993445, Bug #37709706) |
| 68 | + |
| 69 | +* Fixed a bug related to the `lower_case_table_names` setting that caused inconsistent behavior with table names on different systems. (Bug #32288105) |
| 70 | + |
| 71 | +* Fixed a bug where `mysqldump` did not properly escape certain special characters in its output. (Bug #37540722, Bug #37709163) |
| 72 | + |
| 73 | +* The `fprintf_string()` function in `mysqldump` did not use the correct quote character for escaping strings. (Bug #37607195) |
| 74 | + |
| 75 | + |
| 76 | +Find the complete list of bug fixes and changes in the [MySQL 8.0.42 Release Notes](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-42.html). |
| 77 | + |
| 78 | +## Improvements |
| 79 | + |
| 80 | +* [PS-9024](https://perconadev.atlassian.net/browse/PS-9024): Improves the `audit_log_filter_set_user()` UDF to accept account names with wildcard characters (`'%'` and `'_'`) in the host part. |
| 81 | + |
| 82 | +* [PS-9561](https://perconadev.atlassian.net/browse/PS-9561): Updates the C++ level of the KMPI library to enhance error handling capabilities. |
| 83 | + |
| 84 | +* [PS-9765](https://perconadev.atlassian.net/browse/PS-9765): Updates the list of MyRocks variables. You can find the list of variables in [MyRocks server variables](../variables.md). |
| 85 | + |
| 86 | +## Bug Fixes |
| 87 | + |
| 88 | +* [PS-9033](https://perconadev.atlassian.net/browse/PS-9033): The `audit_log_filter` plugin did not register remote accesses. |
| 89 | + |
| 90 | +* [PS-9390](https://perconadev.atlassian.net/browse/PS-9390): In some cases, using `JSON_TABLE` inside an `IN` or `EXISTS` subquery caused incorrect results. This happened when the subquery referred to a table from the main query, and a semijoin optimization was applied. Percona merged the fix from [MySQL](https://github.com/mysql/mysql-server/commit/15e6812b80 ). |
| 91 | + |
| 92 | +* [PS-9609](https://perconadev.atlassian.net/browse/PS-9609): The `audit_log_filter` plugin could not be installed when Percona Server was using `component_keyring_kmip`. |
| 93 | + |
| 94 | +* [PS-9628](https://perconadev.atlassian.net/browse/PS-9628): The `binlog_encryption` did not work with `component_keyring_kmip`. |
| 95 | + |
| 96 | +* [PS-9703](https://perconadev.atlassian.net/browse/PS-9703): In-place `ALTER TABLE` operations that internally rebuilt tables sometimes resulted in lost rows if a concurrent purge happened. |
| 97 | + |
| 98 | +* [PS-9719](https://perconadev.atlassian.net/browse/PS-9719): When `binlog_transaction_dependency_tracking` was changed during a high-load workload, MySQL encountered a segmentation fault. |
| 99 | + |
| 100 | +* [PS-9723](https://perconadev.atlassian.net/browse/PS-9723): MySQL server exited in `xpl::Ssl_context::~Ssl_context()` under heavy load of `ALTER INSTANCE RELOAD TLS` queries. |
| 101 | + |
| 102 | +* [PS-9753](https://perconadev.atlassian.net/browse/PS-9753): Applied an optimizer patch from Enhanced MySQL to restore correct handling of const tables in `test_quick_select()`. |
| 103 | + |
| 104 | +* [PS-9764](https://perconadev.atlassian.net/browse/PS-9764): Added clang-20 to Azure Pipelines and fixed clang-20 compilation issues. |
| 105 | + |
| 106 | +* [PS-9777](https://perconadev.atlassian.net/browse/PS-9777): The `binlog_utils_udf` plugin did not handle `binlog.index` entries the same as the Percona Server code did. |
| 107 | + |
| 108 | +* [PS-9780](https://perconadev.atlassian.net/browse/PS-9780): The maximum size of `audit_log_filter` rule was increased from 1024 characters to 16 000 characters. |
| 109 | + |
| 110 | +* PS-9661: The encryption of system tablespaces using `component_keyring_kmip` failed. |
| 111 | + |
| 112 | +## Useful links |
| 113 | + |
| 114 | +Install [Percona Server for MySQL 8.0](https://docs.percona.com/percona-server/8.0/installation.html) |
| 115 | + |
| 116 | +Upgrade [Percona Server for MySQL from 5.7 to 8.0](../upgrade.md) |
| 117 | + |
| 118 | +The [Percona Server for MySQL GitHub repository](https://github.com/percona/percona-server) |
| 119 | + |
| 120 | +Download product binaries, packages, and tarballs at [Percona Product Downloads](https://www.percona.com/downloads) |
| 121 | + |
| 122 | +[Contribute to the documentation](https://github.com/percona/psmysql-docs/blob/8.0/contributing.md) |
| 123 | + |
| 124 | +For [training](https://www.percona.com/training), contact [Percona Training - Start learning now](https://learn.percona.com/contact-me) |
0 commit comments