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

For help, click the link below to get free database assistance or contact our experts for personalized support.

Percona Server for MySQL 9.7.1-1 (2026-08-05)

Percona Server for MySQL 9.7.0-1 was not released; 9.7.1-1 is the first build in this series. This release includes enhancements and bug fixes from MySQL 9.7.0 and MySQL 9.7.1.

Get started with Quickstart Guide for Percona Server for MySQL.

Percona Server for MySQL 9.7.1-1 includes all the features and bug fixes available in the MySQL 9.7.1 Community Edition and enterprise-grade features developed by Percona.

Release highlights

MySQL 9.7.1

Improvements and bug fixes provided by Oracle for MySQL 9.7.0 and included in Percona Server for MySQL are the following:

  • Connection attribute parsing could read a length-encoded size field before verifying that the complete field was present in the packet, leading to an out-of-bounds read. A size check is now performed before reading the field. (Bug #39116965)

  • A regression in row size estimation for ROW_FORMAT=COMPRESSED tables could cause CREATE TABLE to fail with Row size too large for tables that were accepted in earlier releases. (Bug #39129182, Bug #120323)

  • Under certain circumstances, when calculating the maximum possible index record size, an assertion failure could occur. (Bug #85060, Bug #25579578)

Find the complete list of bug fixes and changes in the MySQL 9.7.0 Release Notes.

In this release of Percona Server for MySQL 9.7.1-1, we have the following new features and improvements, along with security updates and bug fixes detailed in later sections:

  • Integrated the new Key Management Interoperability Protocol (KMIP) library into the key management component.

  • Expanded Thread Pool statistics with status variables for queue monitoring and wait time analysis.

  • Introduced JSONL (JSON Lines) output format for Audit Log Filter.

  • Increased data dictionary upgrade logging verbosity to aid diagnosis of upgrade failures.

  • Extended Audit Log Filter logging so the table_access class records read and insert statements.

  • Changed audit log shutdown behavior to flush the buffer when the ASYNCHRONOUS logging strategy is in use.

  • Reduced memory pressure in the Audit Log Filter component caused by virtual file system (VFS) buffering.

  • Aligned audit_log_filter.format=NEW behavior between the 8.0 plugin and the 8.4 component.

  • Suppressed nested general/status records in Audit Log Filter output when audit_log_filter.event_mode=REDUCED was enabled.

  • Removed format=OLD and set JSONL as the default Audit Log Filter output format.

  • Optimized performance of mem_root_deque.

  • CVE-2026-46850: Vulnerability in MySQL Shell (Shell for Visual Studio Code) via HTTP (CVSS 3.1 Base Score 9.9).

  • CVE-2026-46860: Vulnerability in MySQL Router via HTTP (CVSS 3.1 Base Score 9.8).

  • CVE-2026-46861: Vulnerability in MySQL NDB Cluster (NDB Operator) via HTTP (CVSS 3.1 Base Score 9.6).

  • CVE-2026-46862: Vulnerability in MySQL Router via TLS (CVSS 3.1 Base Score 7.5).

  • CVE-2026-46863: Vulnerability in MySQL Server connection handling via multiple protocols (CVSS 3.1 Base Score 7.5).

  • CVE-2026-46869: Vulnerability in MySQL Shell (Dump and Load) (CVSS 3.1 Base Score 6.5).

  • CVE-2026-46870: Vulnerability in MySQL Shell (Shell for Visual Studio Code) (CVSS 3.1 Base Score 8.5).

  • CVE-2026-46871: Vulnerability in MySQL Shell (Shell for Visual Studio Code) via multiple protocols (CVSS 3.1 Base Score 6.5).

Security updates

This release addresses the following Common Vulnerabilities and Exposures (CVE):

  • CVE-2026-46850: A vulnerability in MySQL Shell (Shell for Visual Studio Code) allows a low-privileged attacker with network access via Hypertext Transfer Protocol (HTTP) to compromise MySQL Shell, with potential scope change impact on additional products (Common Vulnerability Scoring System (CVSS) 3.1 Base Score 9.9).

  • CVE-2026-46860: A vulnerability in MySQL Router allows an unauthenticated attacker with network access via HTTP to compromise MySQL Router (CVSS 3.1 Base Score 9.8).

  • CVE-2026-46861: A vulnerability in MySQL NDB Cluster (NDB Operator) allows a low-privileged attacker with network access via HTTP to access or modify critical data, with potential scope change impact (CVSS 3.1 Base Score 9.6).

  • CVE-2026-46862: A vulnerability in MySQL Router allows an unauthenticated attacker with network access via Transport Layer Security (TLS) to cause MySQL Router to stop responding or exit unexpectedly in a repeatable manner (CVSS 3.1 Base Score 7.5).

  • CVE-2026-46863: A vulnerability in MySQL Server connection handling allows an unauthenticated attacker with network access via multiple protocols to cause the server to stop responding or exit unexpectedly in a repeatable manner (CVSS 3.1 Base Score 7.5).

  • CVE-2026-46869: A vulnerability in MySQL Shell (Dump and Load) allows an unauthenticated attacker with network access to access critical data when user interaction is required (CVSS 3.1 Base Score 6.5).

  • CVE-2026-46870: A vulnerability in MySQL Shell (Shell for Visual Studio Code) allows a low-privileged attacker with network access to compromise MySQL Shell, with potential scope change impact (CVSS 3.1 Base Score 8.5).

  • CVE-2026-46871: A vulnerability in MySQL Shell (Shell for Visual Studio Code) allows a low-privileged attacker with network access via multiple protocols to access critical data (CVSS 3.1 Base Score 6.5).

New features

  • PS-10070: Integrated the new Key Management Interoperability Protocol (KMIP) library into the key management component.

  • PS-10083: Expanded Thread Pool statistics with new status variables for queue monitoring and wait time analysis. The new metrics report the number of requests waiting in normal and high-priority queues, the number of requests not yet entered into a queue, and aggregate queue wait time statistics, including average, minimum, maximum, and standard deviation wait times. These additions provide greater visibility into thread pool workload and queueing behavior.

  • PS-10989: Introduced JSONL (JSON Lines) output format for Audit Log Filter.

Improvements

  • PS-8867: Increased data dictionary upgrade logging verbosity to aid diagnosis of upgrade failures.

  • PS-9774: Extended Audit Log Filter logging so the table_access class and read and insert subclasses record statements in the audit log.

  • PS-10312: Changed audit log shutdown behavior to flush the buffer when the ASYNCHRONOUS logging strategy is in use, preventing loss of buffered events.

  • PS-10331: Reduced memory pressure in the Audit Log Filter component caused by virtual file system (VFS) buffering.

  • PS-10339: Aligned audit_log_filter.format=NEW behavior between the 8.0 plugin and the 8.4 component.

  • PS-10987: Suppressed nested general/status records in Audit Log Filter output when audit_log_filter.event_mode=REDUCED was enabled.

  • PS-11004: Removed format=OLD and set JSONL as the default Audit Log Filter output format.

  • PS-11161: Optimized performance of mem_root_deque.

Bug Fixes

  • PS-8670: InnoDB exited unexpectedly on startup while resuming an interrupted ALTER TABLESPACE encryption operation when progress was persisted before affected pages were flushed to disk.

  • PS-9773: Audit Log Filter audit_log_read() always returned "null" instead of bookmarked and current information.

  • PS-9791: After migration from the audit_log plugin to the audit_log_filter component, records did not include specific fields, which made logs difficult to use.

  • PS-10228: An audit log filter defined with no value did not log events.

  • PS-10338: audit_log_filter_set_filter() returned OK for filters that referenced unknown field names instead of reporting an error.

  • PS-10348: The Audit Log Filter did not support filtering by integer fields.

  • PS-10351: The Audit Log Filter logged an excessive number of events.

  • PS-10378: The limit-based optimization was not applied when the MeCab plugin processed a boolean-mode full-text query with LIMIT, because ranking scores were computed for all matches.

  • PS-10435: The general_query.str event field could not be replaced in audit log filters.

  • PS-10448: A prepared INSERT statement failed when writing rows across partitions.

  • PS-10449: The optimizer rewrite from SUM(DISTINCT x) to -SUM(DISTINCT -x) produced an incorrect result.

  • PS-10853: The audit_log_filter plugin exited unexpectedly when throwing calls were made from filesystem functions declared noexcept.

  • PS-10872: Corrected event subclass naming in the Audit Log Filter and aligned JSON output with the upstream format.

  • PS-10951: audit_log_filter_set_user() updated active sessions instead of updates being applied only to new connections.

  • PS-11014: Audit Log Filter replace-field rules returned Parse 'function' arguments list must be an array when query_digest() was specified as a plain JSON string.

  • PS-11073: Tables with large rows that were originally created on earlier MySQL versions could not be created.

  • PS-11241: The debug make_page_dirty command logged generic byte updates for compressed index pages, which violated redo parser invariants during recovery.

  • PS-11242: Preallocated transaction IDs used by clone consistent snapshot broke the descending order of rw_trx_list and triggered a debug assertion during commit.

  • PS-11243: With Global Transaction Identifier (GTID) mode and binary logging enabled, the server exited unexpectedly on startup when crash recovery resumed an interrupted tablespace encryption operation.

Builds and packaging

  • Percona Server for MySQL releases include a mixture of Profile-Guided Optimization (PGO) and non-PGO builds. Where PGO is enabled, the compiler uses runtime profiling data from representative workloads to guide optimization, which can improve throughput and reduce latency compared with non-PGO builds.

  • See Profile-Guided Optimization (PGO) and non-PGO builds for benefits, considerations, and which build is published for each platform.

  • In Percona Server for MySQL 9.7.1-1 only, Debian and Ubuntu (APT) packaging was reorganized to align more closely with upstream MySQL. Several packages were split into separate components, which may affect upgrades and dependency resolution compared with earlier Percona Server releases. The APT packages are:

    • percona-server-client-core
    • percona-server-client-plugins
    • percona-server-client
    • percona-server-common
    • percona-server-server-core
    • percona-server-server
    • percona-telemetry-agent

Install Percona Server for MySQL 9.7

Upgrade Percona Server for MySQL

The Percona Server for MySQL GitHub repository

Download product binaries, packages, and tarballs at Percona Software Downloads

Contribute to the documentation

For training, contact Percona Training - Start learning now