リリースハイライト
Percona Server for MySQL 8.0.42-33
- ホスト部分にワイルドカード文字('%' および '_')を含むアカウント名を受け入れるように、audit_log_filter_set_user() UDFを改良しました。例えば、‘usr1@%', ‘usr2%192.168.0.%’, または 'usr3@%.mycorp.com'を使用できます。
- KMPIライブラリのC++レベルを更新し、エラー処理機能を強化しました。
- test_quick_select()内のconstテーブルの正しい処理を復元することにより、オプティマイザーの動作を改善します。MySQL Upstreamのリファクタリング (コミット 9a13c1c)により、QEP_TABの依存関係が削除され、get_quick_record_count()はconstテーブル情報を渡さなくなりました。これにより、範囲スキャン境界が最適ではなくなる可能性がありました。適用されたパッチは、const_tablesをtest_quick_select()に明示的に渡すことでこの問題を解決し、リファクタリング前のロジックと一貫した動作を保証します。
最新のMyRocksストレージエンジンには、RocksDB バージョン9.3.1をベースにしたコードが組み込まれています。Perconaは、オリジナルのRocksDBコードベースに軽微な変更を加えました。変更内容の一覧は、https://github.com/percona/rocksdb/でご確認ください。
このリリースでは、MyRocks変数のリストに以下の変更が加えられています。
新しいMyRocks変数を追加します
- --rocksdb_bulk_load_compression_parallel_threads
- --rocksdb_bulk_load_enable_unique_key_check
- --rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds
- --rocksdb_enable_udt_in_mem
- --rocksdb_invalid_create_option_action
- --rocksdb_io_error_action
- --rocksdb_table_stats_skip_system_cf
- --rocksdb_use_io_uring
- --rocksdb_enable_instant_ddl
- --rocksdb_enable_instant_ddl_for_append_column
- --rocksdb_enable_instant_ddl_for_column_default_changes
- --rocksdb_enable_instant_ddl_for_drop_index_changes
- --rocksdb_enable_instant_ddl_for_table_comment_changes
- --rocksdb-bulk-load-compression-parallel-threads
- --rocksdb-bulk-load-enable-unique-key-check
- --rocksdb-debug-skip-bloom-filter-check-on-iterator-bounds
MyRocks変数のデフォルト値を変更します
- --rocksdb_disable_instant_ddl - デフォルト値がONからOFFに変更されます。
- --rocksdb_file_checksums - データ型がBooleanからENUMに変更されます。また、デフォルト値がOFFからCHECKSUMS_OFFに変更されます。
- --rocksdb_compaction_readahead_size - デフォルト値が0(ゼロ)から2097152に変更されます。
MyRocks変数を非推奨にします
- --rocksdb_disable_instant_ddl - この変数は非推奨となり、将来のリリースで削除される予定です。
MyRocks変数を削除します
- --rocksdb-access-hint-on-compaction-start
- --rocksdb_large_prefix
- --rocksdb_strict_collation_check
- --rocksdb_strict_collation_exceptions
MySQL 8.0.41
OracleがMySQL 8.0.42向けに提供し、Percona Server for MySQLに含まれる改善点とバグ修正は次のとおりです:
- CHECK TABLEが空間インデックスが破損していると誤って報告することがあった問題を修正しました。(Bug #37286473)
- クラッシュ後のデータの安全性を向上させるため、InnoDBのREDOログリカバリに関する問題を修正しました。(Bug #37061960)
- index_id値を読み取るとインデックスの動作が不正になる可能性がある問題を修正しました。(Bug #36993445、Bug #37709706)
- lower_case_table_names設定に関連するバグを修正しました。このバグにより、異なるシステム間でテーブル名の動作に一貫性がありませんでした。(Bug #32288105)
- mysqldumpがその出力内の特定の特殊文字を適切にエスケープしないバグを修正しました。(バグ #37540722、バグ #37709163)
- mysqldumpのfprintf_string()関数は、文字列をエスケープするために正しい引用符文字を使用しませんでした。(バグ #37607195)
バグ修正と変更の完全なリストは、MySQL 8.0.42 Release Notesをご覧ください。
改善点
- PS-9024: ホスト部分にワイルドカード文字('%' および '_')を含むアカウント名を受け入れるように、audit_log_filter_set_user() UDFを改良しました。
- PS-9561: KMPIライブラリのC++レベルを更新し、エラー処理機能を強化しました。
- PS-9765: MyRocks変数のリストを更新しました。変数のリストはMyRocksサーバー変数で確認できます。
バグ修正
- PS-9033: audit_log_filterプラグインがリモートアクセスを登録しませんでした。
- PS-9390: INまたはEXISTSサブクエリ内でJSON_TABLEを使用すると、誤った結果が発生する場合がありました。これは、サブクエリがメインクエリのテーブルを参照し、準結合最適化が適用された場合に発生しました。PerconaはMySQLからこの修正をマージしました。
- PS-9609: Percona Serverがcomponent_keyring_kmipを使用している場合、audit_log_filterプラグインをインストールできませんでした。
- PS-9628: binlog_encryptionは、component_keyring_kmipでは動作しませんでした。
- PS-9703: 内部的にテーブルを再構築するインプレース ALTER TABLE操作で、同時パージが発生した場合に行が失われることがありました。
- PS-9719: 高負荷ワークロード中にbinlog_transaction_dependency_trackingが変更されると、MySQLでセグメンテーション違反が発生しました。
- PS-9723: ALTER INSTANCE RELOAD TLSクエリの高負荷下では、MySQLサーバーがxpl::Ssl_context::~Ssl_context()で終了しました。
- PS-9753: test_quick_select()でのconstテーブルの正しい処理を復元するためにEnhanced MySQLのオプティマイザーパッチを適用しました。
- PS-9764: Azure Pipelinesにclang-20を追加し、clang-20のコンパイル問題を修正しました。
- PS-9777: binlog_utils_udfプラグインが、Percona Serverコードが行うのと同様にbinlog.indexエントリを処理しませんでした。
- PS-9780: audit_log_filterルールの最大サイズが1024文字から16,000文字に増加しました。
- PS-9661: component_keyring_kmipを使用したシステムテーブルスペースの暗号化に失敗しました。
Percona Server for MySQL 8.0.42-33 リリース情報(Percona社ウェブサイト):
https://docs.percona.com/percona-server/8.0/release-notes/8.0.42-33.html
Perconaサポート・コンサルティング
Perconaサポート・コンサルティングサービスはPercona Serverをご利用頂いているお客様が安心してお使い頂くために専門的なサポートを提供するサービスです。