From 08e8c9ec6234eec97ab5cff4e9d8561a57229000 Mon Sep 17 00:00:00 2001 From: Alina Derkach Date: Wed, 18 Feb 2026 18:58:48 +0100 Subject: [PATCH] PS-10540 [DOCS] Create new 9.7 branch based on 8.4 and update the docs modified: _resource/overrides/main.html modified: _resource/overrides/partials/banner.html deleted: _resource/templates/styles.scss modified: _resourcepdf/overrides/main.html modified: _resourcepdf/overrides/partials/banner.html modified: _resourcepdf/overrides/partials/edit.html deleted: archive/install-pro.md deleted: archive/pro-build-announcement.md deleted: archive/psmysql-pro.md deleted: archive/upgrade-pro.md deleted: docs/8.4-breaking-changes.md deleted: docs/8.4-compatibility-and-removed-items.md deleted: docs/8.4-defaults-and-tuning.md modified: docs/additional-performance-schema-tables.md modified: docs/apt-download-deb.md modified: docs/apt-repo.md modified: docs/audit-log-filter-variables.md modified: docs/audit-log-plugin.md modified: docs/authentication-methods.md modified: docs/binlogging-replication-improvements.md modified: docs/clone-plugin.md modified: docs/data-masking-function-list.md modified: docs/data-masking-overview.md modified: docs/development.md modified: docs/docker-compose.md deleted: docs/downgrade-from-pro.md modified: docs/downgrade.md modified: docs/download-instructions.md modified: docs/encryption-functions.md modified: docs/fips.md modified: docs/index-keywords.md modified: docs/install-audit-log-filter.md modified: docs/js-lang-type-conversions.md modified: docs/myrocks-server-variables.md modified: docs/mysql-upgrade-paths.md modified: docs/percona-sequence-table.md renamed: docs/percona-toolkit-8.4-updates.md -> docs/percona-toolkit-9.7-updates.md deleted: docs/release-notes/8.4.0-1.md deleted: docs/release-notes/8.4.1.md deleted: docs/release-notes/8.4.2-2.md deleted: docs/release-notes/8.4.3-3.md deleted: docs/release-notes/8.4.4-4.md deleted: docs/release-notes/8.4.5-5.md deleted: docs/release-notes/8.4.6-6.md deleted: docs/release-notes/8.4.7-7.md modified: docs/templates/pdf_cover_page.tpl renamed: docs/upgrade-checklist-8.4.md -> docs/upgrade-checklist-9.7.md modified: docs/upgrade-components.md modified: docs/upgrade-procedures.md modified: docs/upgrade-strategies.md modified: docs/upgrade.md modified: docs/write-filter-definitions.md modified: docs/yum-download-rpm.md modified: docs/yum-repo.md modified: mkdocs-base.yml modified: mkdocs-percona.yml modified: variables.yml --- _resource/overrides/main.html | 6 +- _resource/overrides/partials/banner.html | 2 +- _resource/templates/styles.scss | 110 ------- _resourcepdf/overrides/main.html | 6 +- _resourcepdf/overrides/partials/banner.html | 2 +- _resourcepdf/overrides/partials/edit.html | 2 +- archive/install-pro.md | 83 ----- archive/pro-build-announcement.md | 3 - archive/psmysql-pro.md | 25 -- archive/upgrade-pro.md | 91 ------ docs/8.4-breaking-changes.md | 150 --------- docs/8.4-compatibility-and-removed-items.md | 81 ----- docs/8.4-defaults-and-tuning.md | 58 ---- docs/additional-performance-schema-tables.md | 2 +- docs/apt-download-deb.md | 2 + docs/apt-repo.md | 2 + docs/audit-log-filter-variables.md | 2 +- docs/audit-log-plugin.md | 2 + docs/authentication-methods.md | 2 + docs/binlogging-replication-improvements.md | 4 +- docs/clone-plugin.md | 2 + docs/data-masking-function-list.md | 13 +- docs/data-masking-overview.md | 1 + docs/development.md | 15 - docs/docker-compose.md | 6 +- docs/downgrade-from-pro.md | 68 ---- docs/downgrade.md | 2 + docs/download-instructions.md | 2 + docs/encryption-functions.md | 2 + docs/fips.md | 2 + docs/index-keywords.md | 2 + docs/install-audit-log-filter.md | 2 + docs/js-lang-type-conversions.md | 3 + docs/myrocks-server-variables.md | 298 +----------------- docs/mysql-upgrade-paths.md | 2 + docs/percona-sequence-table.md | 2 + ...ates.md => percona-toolkit-9.7-updates.md} | 5 +- docs/release-notes/8.4.0-1.md | 105 ------ docs/release-notes/8.4.1.md | 3 - docs/release-notes/8.4.2-2.md | 84 ----- docs/release-notes/8.4.3-3.md | 55 ---- docs/release-notes/8.4.4-4.md | 91 ------ docs/release-notes/8.4.5-5.md | 130 -------- docs/release-notes/8.4.6-6.md | 75 ----- docs/release-notes/8.4.7-7.md | 107 ------- docs/templates/pdf_cover_page.tpl | 2 +- ...cklist-8.4.md => upgrade-checklist-9.7.md} | 48 +-- docs/upgrade-components.md | 2 + docs/upgrade-procedures.md | 11 +- docs/upgrade-strategies.md | 7 +- docs/upgrade.md | 2 + docs/write-filter-definitions.md | 2 +- docs/yum-download-rpm.md | 3 + docs/yum-repo.md | 10 +- mkdocs-base.yml | 21 +- mkdocs-percona.yml | 2 +- variables.yml | 18 +- 57 files changed, 105 insertions(+), 1735 deletions(-) delete mode 100644 _resource/templates/styles.scss delete mode 100644 archive/install-pro.md delete mode 100644 archive/pro-build-announcement.md delete mode 100644 archive/psmysql-pro.md delete mode 100644 archive/upgrade-pro.md delete mode 100644 docs/8.4-breaking-changes.md delete mode 100644 docs/8.4-compatibility-and-removed-items.md delete mode 100644 docs/8.4-defaults-and-tuning.md delete mode 100644 docs/downgrade-from-pro.md rename docs/{percona-toolkit-8.4-updates.md => percona-toolkit-9.7-updates.md} (83%) delete mode 100644 docs/release-notes/8.4.0-1.md delete mode 100644 docs/release-notes/8.4.1.md delete mode 100644 docs/release-notes/8.4.2-2.md delete mode 100644 docs/release-notes/8.4.3-3.md delete mode 100644 docs/release-notes/8.4.4-4.md delete mode 100644 docs/release-notes/8.4.5-5.md delete mode 100644 docs/release-notes/8.4.6-6.md delete mode 100644 docs/release-notes/8.4.7-7.md rename docs/{upgrade-checklist-8.4.md => upgrade-checklist-9.7.md} (67%) diff --git a/_resource/overrides/main.html b/_resource/overrides/main.html index fa47bec7c59..0d7e4e911e7 100644 --- a/_resource/overrides/main.html +++ b/_resource/overrides/main.html @@ -17,8 +17,8 @@ {% endif %} - - + + {% endblock %} {% block site_nav %} @@ -32,7 +32,7 @@ {% include "partials/nav.html" %}
diff --git a/_resource/overrides/partials/banner.html b/_resource/overrides/partials/banner.html index da9b1250a5d..12f77901a46 100644 --- a/_resource/overrides/partials/banner.html +++ b/_resource/overrides/partials/banner.html @@ -4,6 +4,6 @@
- Get help from Percona + Get help from Percona
diff --git a/_resource/templates/styles.scss b/_resource/templates/styles.scss deleted file mode 100644 index e2777e3c840..00000000000 --- a/_resource/templates/styles.scss +++ /dev/null @@ -1,110 +0,0 @@ -/* Style for PDF created by MkDocs with mkdocs-with-pdf plugin (https://pypi.org/project/mkdocs-with-pdf/) */ -@media print { - html { - font-size: 100%; - font-family: "Poppins", sans-serif; - } - - body { - font-family: "Poppins", sans-serif; - color: #00162b; - } - - article { - font-family: "Poppins", sans-serif; - text-align: justify; - } - - pre, - code, - var, - samp, - kbd, - tt { - font-family: monospace; - font-size: 110%; - } - - pre code, - pre var, - pre samp, - pre kbd, - pre tt { - font-size: 110%; - } -} - -@page { - size: a4 portrait; - margin: 25mm 20mm 25mm 20mm; - counter-increment: page; - white-space: pre; - color: #00162b; - - @top-right { - content: string(chapter); - } - - @bottom-left { - content: string(subtitle); - } - - @bottom-center { - content: counter(page)' of 'counter(pages); - } - - @bottom-right { - } -} - -@page :first { - @top-right { - content: ''; - } - - @bottom-right { - content: ''; - } - - @bottom-left { - content: ''; - } -} - -article { - page-break-before: always; - min-height: 100%; -} - -article { - - h1, - h2, - h3 { - border-bottom: 0px solid #fff; - } - - h1>.pdf-order, - h2>.pdf-order, - h3>.pdf-order { - padding-left: 6px; - padding-right: 0.8rem; - } -} - -article h1, -h2, -h3 { - border-bottom: 0px solid #fff; - color: #3e4875; -} - -.admonition { - font-size: 100%; -} - -.md-typeset .admonition.note, -.md-typeset details.note { - color: #00162b; - border-color: #fff; -} \ No newline at end of file diff --git a/_resourcepdf/overrides/main.html b/_resourcepdf/overrides/main.html index 785594c5b48..199060b0768 100644 --- a/_resourcepdf/overrides/main.html +++ b/_resourcepdf/overrides/main.html @@ -20,8 +20,8 @@ {% endif %} - - + + {% endblock %} {% block site_nav %} @@ -35,7 +35,7 @@ {% include "partials/nav.html" %}
diff --git a/_resourcepdf/overrides/partials/banner.html b/_resourcepdf/overrides/partials/banner.html index 1ba6c9cef06..1dbe9458ebc 100644 --- a/_resourcepdf/overrides/partials/banner.html +++ b/_resourcepdf/overrides/partials/banner.html @@ -4,6 +4,6 @@
- Get help from Percona + Get help from Percona
\ No newline at end of file diff --git a/_resourcepdf/overrides/partials/edit.html b/_resourcepdf/overrides/partials/edit.html index 7a3914e31ad..98ebe18140a 100644 --- a/_resourcepdf/overrides/partials/edit.html +++ b/_resourcepdf/overrides/partials/edit.html @@ -13,7 +13,7 @@ - + The following example downloads Percona Server for MySQL {{release}} release packages for Ubuntu 22.04: ```shell diff --git a/docs/apt-repo.md b/docs/apt-repo.md index 228c2867d87..807dda2dbb3 100644 --- a/docs/apt-repo.md +++ b/docs/apt-repo.md @@ -24,6 +24,8 @@ Percona supports DEB builds with ARM packages with the `aarch64.rpm` extension. --8<-- "install-flag.md" + + ## Install Percona Server for MySQL using APT To install Percona Server for MySQL using APT, follow these steps: diff --git a/docs/audit-log-filter-variables.md b/docs/audit-log-filter-variables.md index b2dd9585f54..90f70f89176 100644 --- a/docs/audit-log-filter-variables.md +++ b/docs/audit-log-filter-variables.md @@ -305,7 +305,7 @@ SELECT audit_log_filter_set_filter('filter-name', @filter); This function assigns the filter to the selected user account. -Starting from Percona Server for MySQL 8.4.4, the audit_log_filter_set_user() UDF accepts account names with wildcard characters (`'%'` and `'_'`) in the host part. For example, you can use `‘usr1@%'`, `‘usr2%192.168.0.%’`, or `'usr3@%.mycorp.com'`. +The audit_log_filter_set_user() UDF accepts account names with wildcard characters (`'%'` and `'_'`) in the host part. For example, you can use `‘usr1@%'`, `‘usr2%192.168.0.%’`, or `'usr3@%.mycorp.com'`. A user account can only have one filter. If the user account already has a filter, this function replaces the current filter. If the user account is in a current session, nothing happens. When the user account connects again the new filter is used. diff --git a/docs/audit-log-plugin.md b/docs/audit-log-plugin.md index 0514ccd7daf..cd8f398cc3d 100644 --- a/docs/audit-log-plugin.md +++ b/docs/audit-log-plugin.md @@ -1,5 +1,7 @@ # Audit log plugin + + !!! note "Deprecation notice" The audit log plugin is deprecated in Percona Server for MySQL 8.4 and will be removed in a future release. This deprecation is due to the availability of the [audit log filter component](audit-log-filter-overview.md), which is the recommended replacement. Users should migrate to this component, which provides equivalent functionality with enhanced flexibility, performance, and filtering capabilities, ensuring continued support for auditing and compliance requirements. diff --git a/docs/authentication-methods.md b/docs/authentication-methods.md index fbc3d1cbd27..41f33c1f092 100644 --- a/docs/authentication-methods.md +++ b/docs/authentication-methods.md @@ -2,6 +2,8 @@ An authentication method is a way to verify the identity of a user trying to access the database. It defines how the server checks if the credentials provided are correct and whether the user can connect. + + ## Version changes MySQL 8.4 disables the deprecated `mysql_native_password` authentication plugin by default. diff --git a/docs/binlogging-replication-improvements.md b/docs/binlogging-replication-improvements.md index 78754333d38..1a9cc5fcc16 100644 --- a/docs/binlogging-replication-improvements.md +++ b/docs/binlogging-replication-improvements.md @@ -2,6 +2,8 @@ Due to continuous development, Percona Server for MySQL has incorporated a number of improvements related to replication and binary log handling. These improvements result in replication-specific behaviors that distinguish Percona Server for MySQL from standard MySQL. + + ## Statements with a `LIMIT` clause In MySQL 8.4, any UPDATE/DELETE/INSERT ... SELECT statements that include a LIMIT clause are indeed considered unsafe for statement-based replication. These statements will cause MySQL to automatically switch from statement-based logging to row-based logging if binlog_format is set to MIXED. @@ -70,7 +72,7 @@ log regardless of the value of the binlog_skip_flush_command variable. any user (even by those with the `SUPER` privilege) are not written to the binary log regardless of the value of the binlog_skip_flush_commands variable. -An attempt to run a `FLUSH` command without either [`SUPER`](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_super :octicons-link-external-16:) or [`RELOAD`](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_reload :octicons-link-external-16:) +An attempt to run a `FLUSH` command without either [`SUPER`](https://dev.mysql.com/doc/refman/{{vers}}/en/privileges-provided.html#priv_super :octicons-link-external-16:) or [`RELOAD`](https://dev.mysql.com/doc/refman/{{vers}}/en/privileges-provided.html#priv_reload :octicons-link-external-16:) privileges results in the `ER_SPECIFIC_ACCESS_DENIED_ERROR` exception regardless of the value of the `binlog_skip_flush_commands` variable. diff --git a/docs/clone-plugin.md b/docs/clone-plugin.md index 6baf65fd17a..e392b33998a 100644 --- a/docs/clone-plugin.md +++ b/docs/clone-plugin.md @@ -37,6 +37,8 @@ CLONE INSTANCE FROM `root@remote.server:13336` IDENTIFIED BY `user`; Replace the user name, host name, and port number with the settings from the donor server. + + ## Limitations The MySQL 8.4 clone plugin enforces several functional and scope limitations that define which instances administrators clone and which data or metadata a clone operation includes. diff --git a/docs/data-masking-function-list.md b/docs/data-masking-function-list.md index 622e78a6024..6aa4cc9d00a 100644 --- a/docs/data-masking-function-list.md +++ b/docs/data-masking-function-list.md @@ -4,7 +4,7 @@ The feature is in [tech preview](glossary.md#tech-preview). ## Permissions -In Percona Server for MySQL 8.4.4-1, dictionary-related functions no longer run internal queries as the root user without a password. Following MySQL best practices, many admins disable the `root` user, which previously caused these functions to stop working. The server now uses the built-in `mysql.session` user to execute dictionary queries. +Dictionary-related functions no longer run internal queries as the root user without a password. Following MySQL best practices, many admins disable the `root` user, which previously caused these functions to stop working. The server now uses the built-in `mysql.session` user to execute dictionary queries. However, for this to work, you need to grant the mysql.session user `SELECT`, `INSERT`, `UPDATE`, and `DELETE` privileges on the `masking_dictionaries` table. @@ -51,10 +51,8 @@ GRANT SELECT, INSERT, UPDATE, DELETE ON .mas ## gen_blocklist(str, from_dictionary_name, to_dictionary_name) Replaces a term from one dictionary with a randomly selected term in another dictionary. - -### Version update -Percona Server for MySQL 8.4.4-1 introduces an internal term cache. The server now uses in-memory data structures for lookups instead of querying the `.masking_dictionaries` table every time. This improvement boosts performance, especially when handling multiple rows. +Percona Server for MySQL uses an internal term cache. The server uses in-memory data structures for lookups that boosts performance, especially when handling multiple rows. ### Parameters @@ -90,9 +88,7 @@ SELECT gen_blocklist('apple', 'fruit', 'nut'); Returns a term from a dictionary selected at random. -### Version update - -Percona Server for MySQL 8.4.4-1 introduces an internal term cache. The server now uses in-memory data structures for lookups instead of querying the `.masking_dictionaries` table every time. This improvement boosts performance, especially when handling multiple rows. +Percona Server for MySQL uses an internal term cache. The server uses in-memory data structures for lookups that boosts performance, especially when handling multiple rows. ### Parameters @@ -974,8 +970,7 @@ SELECT masking_dictionary_term_remove('trees','pine'); | data type | unsigned integer | | default | 0 | - -Percona Server for MySQL 8.4.4-1 adds this variable. The number of seconds between a synchronization between the dictionaries table and the internal dictionary cache. The default value is 0 seconds (disabled). The minimum value is 1 second. The maximum value is 31,536,000 seconds (1 year). +The number of seconds between a synchronization between the dictionaries table and the internal dictionary cache. The default value is 0 seconds (disabled). The minimum value is 1 second. The maximum value is 31,536,000 seconds (1 year). ### masking_database(string) diff --git a/docs/data-masking-overview.md b/docs/data-masking-overview.md index 5df35290927..52aaa7632b2 100644 --- a/docs/data-masking-overview.md +++ b/docs/data-masking-overview.md @@ -14,6 +14,7 @@ Data masking in Percona Server for MySQL is an essential tool for protecting sen These examples underscore how data masking serves as a crucial safeguard for sensitive information, allowing organizations to leverage their data effectively across diverse functions. + ## Version updates diff --git a/docs/development.md b/docs/development.md index cfd6ab7398b..00c62340659 100644 --- a/docs/development.md +++ b/docs/development.md @@ -17,21 +17,6 @@ We change our software to implement new features and/or to fix bugs. Refactoring could be classed either as a new feature or a bug depending on the scope of work. - - -New features and bugs are targeted to specific releases. A -release is part of a series. For example, 2.4 is a series in Percona -XtraBackup and 2.4.15, 2.4.16, and 2.4.17 are releases in this series. - -Code is proposed for merging in the form of pull requests on GitHub. - -For *Percona Server for MySQL*, we have several Git branches on which development occurs: -5.5, 5.6, 5.7, and 8.0. As *Percona Server for MySQL* is not a traditional project, instead -of being a set of patches against an existing product, these branches are not -related. In other words, we do not merge from one release branch to another. To -have your changes in several branches, you must propose branches to each release -branch. - ### Making a change to a project In this case, we are going to use `percona-xtrabackup` as an example. The diff --git a/docs/docker-compose.md b/docs/docker-compose.md index b6d565413b1..70a191b9def 100644 --- a/docs/docker-compose.md +++ b/docs/docker-compose.md @@ -1,6 +1,8 @@ # Use Docker Compose and named volumes -Docker Compose simplifies managing containerized services. This guide shows how to run Percona Server for MySQL 8.4 with persistent storage for data, logs, and backups using named Docker volumes. +Docker Compose simplifies managing containerized services. This guide shows how to run Percona Server for MySQL {{vers}} with persistent storage for data, logs, and backups using named Docker volumes. + + ## Benefits @@ -60,7 +62,7 @@ By using a `docker-compose.yml` file, you streamline container orchestration, en ```text services: mysql: - image: percona/percona-server:8.4 + image: percona/percona-server:9.7 container_name: percona-server ports: - "3306:3306" diff --git a/docs/downgrade-from-pro.md b/docs/downgrade-from-pro.md deleted file mode 100644 index 416253f2732..00000000000 --- a/docs/downgrade-from-pro.md +++ /dev/null @@ -1,68 +0,0 @@ -# Downgrade from Percona Server for MySQL Pro - -If you want to downgrade from Percona Server for MySQL Pro to the same version of Percona Server for MySQL, do the following: - -=== "On Debian and Ubuntu" - - 1. Set up the Percona Server for MySQL 8.4 repository - - ```shell - sudo percona-release setup ps84 - ``` - - 2. Stop the `mysql` server. - - ```shell - sudo systemctl stop mysql - ``` - - 3. Install the server package - - ```shell - sudo apt install percona-server-server - ``` - - Install other required packages. [Check files in the DEB package built for Percona Server for MySQL 8.4](apt-files.md). - - 4. Start the `mysql` server - - ```shell - sudo systemctl start mysql - ``` - - !!! note - - On Debian 12, if you want to remove the Percona Server for MySQL after the downgrade, you must stop the - server manually. This behavior will be fixed in future releases. - - ```shell - sudo systemctl stop mysql - ``` - -=== "On RHEL and derivatives" - - 1. Set up the Percona Server for MySQL 8.4 repository - - ```shell - sudo percona-release setup ps84 - ``` - - 2. Stop the `mysql` server. - - ```shell - sudo systemctl stop mysql - ``` - - 3. Install the server package - - ```shell - sudo yum --allowerasing install percona-server-server - ``` - - Install other required packages. [Check files in the RPM package built for Percona Server for MySQL 8.4](yum-files.md). - - 4. Start the `mysql` server - - ```shell - sudo systemctl start mysql - ``` diff --git a/docs/downgrade.md b/docs/downgrade.md index 01aeb314591..5abc9aa4000 100644 --- a/docs/downgrade.md +++ b/docs/downgrade.md @@ -2,6 +2,8 @@ --8<--- "get-help-snip.md" + + Downgrading to a 5.7 or earlier series is not supported. Between versions within the same Long-Term Support (LTS) series, you can downgrade from 8.4.y LTS to 8.4.x LTS using the following methods: diff --git a/docs/download-instructions.md b/docs/download-instructions.md index 03ff8f6fde5..c4433e4843f 100644 --- a/docs/download-instructions.md +++ b/docs/download-instructions.md @@ -2,6 +2,8 @@ ## Select the software + + Do the following steps to select the software: 1. Open [Percona Software Downloads :octicons-link-external-16:](https://www.percona.com/downloads) diff --git a/docs/encryption-functions.md b/docs/encryption-functions.md index 7fe037094c8..fb516869a0b 100644 --- a/docs/encryption-functions.md +++ b/docs/encryption-functions.md @@ -12,6 +12,8 @@ When choosing key lengths, consider the following: * If performance is important and the functions are frequently used, use symmetric encryption. Symmetric encryption functions are faster than asymmetric encryption functions. Moreover, asymmetric encryption has restrictions on the maximum length of a message being encrypted. For example, for RSA the algorithm maximum message size is the key length in bytes (key length in bits / 8) minus 11. + + ## Version updates Percona Server for MySQL 8.4.4 adds the following: diff --git a/docs/fips.md b/docs/fips.md index ad7b0761f75..22a7cc7d33c 100644 --- a/docs/fips.md +++ b/docs/fips.md @@ -8,6 +8,8 @@ The Federal Information Processing Standards (FIPS) are a set of regulations man Percona Server for MySQL can run in FIPS mode if a FIPS-enabled OpenSSL library and FIPS Object Module are available at runtime or if compiled using a FIPS-validated version of OpenSSL. FIPS mode remains off by default and must be enabled via [OS/OpenSSL configuration](#prerequisites). + + ## Version changes Introduced in Percona Server for MySQL Pro build for [8.4.0-1](release-notes/8.4.0-1.md). You can also receive this functionality by [building Percona Server for MySQL from source code](compile-percona-server.md). diff --git a/docs/index-keywords.md b/docs/index-keywords.md index f9178ac2b7e..0da498f45e2 100644 --- a/docs/index-keywords.md +++ b/docs/index-keywords.md @@ -1,5 +1,7 @@ # Documentation Index by Alphabet + + ## A **Files:** diff --git a/docs/install-audit-log-filter.md b/docs/install-audit-log-filter.md index ff7a38182d7..0e6a4c9ac57 100644 --- a/docs/install-audit-log-filter.md +++ b/docs/install-audit-log-filter.md @@ -129,6 +129,8 @@ This operation creates the missing tables without reinstalling the component. ## Additional information + + To upgrade from `audit_log_filter` plugin in Percona Server 8.4 to `component_audit_log_filter` component in Percona Server {{vers}}, do the [manual upgrade](upgrade-components.md). --8<--- "get-help-snip.md" diff --git a/docs/js-lang-type-conversions.md b/docs/js-lang-type-conversions.md index e0037541069..9e60ad79e69 100644 --- a/docs/js-lang-type-conversions.md +++ b/docs/js-lang-type-conversions.md @@ -35,6 +35,9 @@ The system always maps JS null and undefined values to SQL NULL, regardless of t ### JS to SQL type conversion rules + + + | Target SQL Data Type | Conversion Rules | Explanation | Example | |--------------------------|----------------------|------------------|-------------| | `BOOLEAN`, `TINYINT`, `SHORTINT`, `MEDIUMINT`, `INT`, `BIGINT` | (Version 8.4.5) - Numbers: stored as integers
- Booleans: `true` → `1`, `false` → `0`
- BigInts: stored as integers when possible
- Other types: converted to strings first
(Version 8.4.4) - JS Integers/Numbers: integers stored as-is, BigInts attempted as integers, others as strings.) | Preserves native numeric forms where possible; other values default to string representation | `42` → `42`
`3.14` → `"3.14"`
`true` → `"1"` | diff --git a/docs/myrocks-server-variables.md b/docs/myrocks-server-variables.md index 4525baf6051..a52df3e9e2e 100644 --- a/docs/myrocks-server-variables.md +++ b/docs/myrocks-server-variables.md @@ -225,33 +225,6 @@ Also, all variables can exist in one or both of the following scopes: ## Variable definitions -### `rocksdb_access_hint_on_compaction_start` - -| Option | Description | -|--------------|-------------------------------------------| -| Command-line | --rocksdb-access-hint-on-compaction-start | -| Dynamic | No | -| Scope | Global | -| Data type | String or numeric | -| Default | NORMAL or 1 | - -**[Removed: 8.4.5-5]** As of Percona Server for MySQL 8.4.5-5, the `rocksdb-access-hint-on-compaction-start` variable has been removed. - -Specifies the file access pattern once a compaction is started, -applied to all input files of a compaction. -Possible values are: - -* `0` = `NONE` - -* `1` = `NORMAL` (default) - -* `2` = `SEQUENTIAL` - -* `3` = `WILLNEED` - - - - ### `rocksdb_advise_random_on_open` | Option | Description | @@ -484,9 +457,6 @@ Specifies the number of keys for each set of delta encoded data. Default value is `16`. Allowed range is from `1` to `2147483647`. - - - ### `rocksdb_block_size` | Option | Description | @@ -499,14 +469,7 @@ Allowed range is from `1` to `2147483647`. Specifies the size of the data block for reading RocksDB data files. The default value is `16 KB`. -The allowed range is from `1024` to `18446744073709551615` bytes. - -#### Version changes - -In Percona Server for MySQL 8.4.7-7, the maximum value was changed to `4294967296` bytes (4 GiB). - - - +The allowed range is from `1024` to `4294967296` bytes (4 GiB). ### `rocksdb_block_size_deviation` @@ -527,9 +490,6 @@ until there is less than 10 bits of free space remaining. Allowed range is from `1` to `2147483647`. - - - ### `rocksdb_bulk_load` | Option | Description | @@ -596,13 +556,8 @@ sorted by the bulkloader itself, at a performance penalty. | Minimum | 1 | | Maximum | 1024 | -Added in Percona Server for MySQL 8.4.5-5 - Specifies the number of parallel worker threads used to compress SST data blocks during bulk load. - - - ### `rocksdb_bulk_load_enable_unique_key_check` | Option | Description | @@ -612,15 +567,9 @@ Specifies the number of parallel worker threads used to compress SST data blocks | Data type | Bool | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. - Controls whether the unique key constraint is checked during bulk loading. This setting can only be changed when bulk loading is disabled. - - - - ### `rocksdb_bulk_load_fail_if_not_bottommost_level` | Option | Description | @@ -642,8 +591,6 @@ This variable is disabled (OFF) by default. When `rocksdb_bulk_load_fail_if_not_bottommost_level` is disabled, it may cause severe performance impact. - - ### `rocksdb_bulk_load_partial_index` | Option | Description | @@ -657,8 +604,6 @@ This variable is disabled (OFF) by default. Materializes partial index during bulk load instead of leaving the index empty. - - ### `rocksdb_bulk_load_size` | Option | Description | @@ -678,8 +623,6 @@ before they are implicitly committed. Allowed range is from `1` to `1073741824`. - - ### `rocksdb_bulk_load_use_sst_partitioner` | Option | Description | @@ -695,8 +638,6 @@ If enabled, this variable uses sst partitioner to split sst files to ensure bulk This variable is disabled (OFF) by default. - - ### `rocksdb_bytes_per_sync` | Option | Description | @@ -713,9 +654,6 @@ This operation can be used to smooth out write I/O over time. Default value is `0` meaning that files are never synced. Allowed range is up to `18446744073709551615`. - - - ### `rocksdb_cache_dump` | Option | Description | @@ -728,9 +666,6 @@ Allowed range is up to `18446744073709551615`. Includes RocksDB block cache content in core dump. This variable is enabled by default. - - - ### `rocksdb_cache_high_pri_pool_ratio` | Option | Description | @@ -744,8 +679,6 @@ Includes RocksDB block cache content in core dump. This variable is enabled by d This variable specifies the size of the block cache high-pri pool. The default value and minimum value is 0.0. The maximum value is 1.0. - - ### `rocksdb_cache_index_and_filter_blocks` | Option | Description | @@ -762,8 +695,6 @@ Enabled by default. If you disable this feature, RocksDB allocates additional memory to maintain these data blocks. - - ### `rocksdb_cache_index_and_filter_with_high_priority` | Option | Description | @@ -958,15 +889,13 @@ This variable acts as a trigger. Set the variable to `ON`, `rocksdb-compact-lzer ### `rocksdb_compaction_readahead_size` -**[Changed in 8.4.5-5]** The default value of `rocksdb_compaction_readahead_size` has changed from `0` to `2097152`. - | Option | Description | |--------------|-------------------------------------| | Command-line | --rocksdb-compaction-readahead-size | | Dynamic | Yes | | Scope | Global | | Data type | Numeric | -| Default | 2097152 (Prior to 8.4.5-5, the default was 0) | +| Default | 2097152 | Specifies the size of reads to perform ahead of compaction. The default value is now `2097152`. @@ -980,8 +909,6 @@ Maximum allowed value is `18446744073709551615`. If you set this variable to a non-zero value, rocksdb_new_table_reader_for_compaction_inputs is enabled. - - ### `rocksdb_compaction_sequential_deletes` | Option | Description | @@ -1271,13 +1198,7 @@ through before assuming deadlock. | Data type | UINT | | Default | 2 | -The cardinality multiplier used in tests. The minimum value is 0. The maximum value is 2147483647 (INT_MAX). - -#### Version changes - -In Percona Server for MySQL 8.4.7-7, the minimum value was changed to `1`. - - +The cardinality multiplier used in tests. The minimum value is 1. The maximum value is 2147483647 (INT_MAX). ### `rocksdb_debug_manual_compaction_delay` @@ -1322,7 +1243,6 @@ by always overriding it with some value. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5 Allows setting iterator bounds in RocksDB even when the query range conditions would normally enable Bloom filter usage. @@ -1499,6 +1419,7 @@ re-enabled. This variable should be used by backup tools. Prolonged use or other misuse can have serious side effects to the server instance. + ### `rocksdb_disable_instant_ddl` @@ -1511,13 +1432,7 @@ use or other misuse can have serious side effects to the server instance. | Data type | Boolean | | Default | OFF | -**[Deprecated: 8.4.5-5]** The `rocksdb_disable_instant_ddl` variable is deprecated and will be removed in a future version. Its default value has changed to `OFF` as of this version. - -Disables Instant DDL during `ALTER TABLE` operations. - -Prior to Percona Server for MySQL 8.4.5-5, this variable was enabled (`ON`) by default. - - +The `rocksdb_disable_instant_ddl` variable is deprecated and will be removed in a future version. Disables Instant DDL during `ALTER TABLE` operations. ### `rocksdb_enable_bulk_load_api` @@ -1582,7 +1497,6 @@ Specifies whether to enable optimization where the read is cached from a failed | Data type | Boolean | | Default | ON | -Added in Percona Server for MySQL 8.4.5-5. Enables Instant DDL during `ALTER TABLE` operations when possible. If set to `OFF`, no DDL operations can be executed as instant. @@ -1598,8 +1512,6 @@ to `OFF`, no DDL operations can be executed as instant. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. - Enables Instant DDL specifically for appending columns during `ALTER TABLE` operations. @@ -1614,8 +1526,6 @@ operations. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. - Enables Instant DDL for changes to column defaults during `ALTER TABLE` operations. @@ -1630,8 +1540,6 @@ operations. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. - Enables Instant DDL for dropping indexes during `ALTER TABLE` operations. @@ -1645,8 +1553,6 @@ Enables Instant DDL for dropping indexes during `ALTER TABLE` operations. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. - Enables Instant DDL for changes to table comments during `ALTER TABLE` operations. @@ -1752,6 +1658,7 @@ rows may disappear in the middle of transactions as they are dropped during compaction. **Use with caution.** + ### `rocksdb_enable_udt_in_mem` @@ -1763,8 +1670,6 @@ are dropped during compaction. **Use with caution.** | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. - **[Not yet implemented.]** Enables the user-defined timestamp in memtable feature to support Hybrid @@ -1820,20 +1725,15 @@ Specifies whether to report an error instead of a warning if an index is created on a char field where the table has a sub-optimal collation (case insensitive). Enabled by default. - - - ### `rocksdb_file_checksums` -**[Changed in 8.4.5-5]** The `rocksdb_file_checksums` variable's default value changed from `OFF` to `CHECKSUMS_OFF`, and its data type changed to `Enum= CHECKSUMS_OFF, CHECKSUMS_WRITE_ONLY, CHECKSUMS_WRITE_AND_VERIFY`. - -| Option | Description | -|---------------|-------------------------------------------------------------------------------------------------------------------------------------------| -| Command-line | --rocksdb-file-checksums | -| Dynamic | No | -| Scope | Global | -| Data type | Enum= CHECKSUMS_OFF, CHECKSUMS_WRITE_ONLY, CHECKSUMS_WRITE_AND_VERIFY | -| Default | CHECKSUMS_OFF (Prior to 8.4.5-5, the default was OFF) | +| Option | Description | +|---------------|-------------------------------------------------------------------------| +| Command-line | --rocksdb-file-checksums | +| Dynamic | No | +| Scope | Global | +| Data type | Enum= CHECKSUMS_OFF, CHECKSUMS_WRITE_ONLY, CHECKSUMS_WRITE_AND_VERIFY | +| Default | CHECKSUMS_OFF | This variable controls whether to write and check RocksDB file-level checksums. The possible values are: @@ -1844,11 +1744,6 @@ This variable controls whether to write and check RocksDB file-level checksums. * `CHECKSUMS_WRITE_AND_VERIFY`: Writes checksums and verifies them when the database is opened. -Prior to Percona Server for MySQL 8.4.5-5, the default value was `OFF`, and the data type was a Boolean (where `OFF` equated to disabled). - - - - ### `rocksdb_flush_log_at_trx_commit` | Option | Description | @@ -2072,8 +1967,6 @@ log messages) | Data type | Enum: LOG, PUSH_WARNING, PUSH_ERROR | | Default | LOG | -Added in Percona Server for MySQL 8.4.5-5. - Controls the behavior when creating a table encounters an error related to RocksDB options. You can choose to only log the error, pass the query and give users a warning, or fail the query. @@ -2089,8 +1982,6 @@ give users a warning, or fail the query. | Data type | Enum: ABORT_SERVER, IGNORE_ERROR | | Default | ABORT_SERVER | -Added in Percona Server for MySQL 8.4.5-5. - Controls the behavior when an I/O error occurs within RocksDB. By default, MyRocks aborts the server and refuses to start. Setting this option to `IGNORE_ERROR` suppresses the error instead. @@ -2127,25 +2018,6 @@ Default value is `1000`. Allowed range is from `1` to `18446744073709551615`. - - -### `rocksdb_large_prefix` - -| Option | Description | -|--------------|------------------------| -| Command-line | --rocksdb-large-prefix | -| Dynamic | Yes | -| Scope | Global | -| Data type | Boolean | -| Default | ON | - -**[Removed: 8.4.5-5]** As of Percona Server for MySQL 8.4.5-5, the `rocksdb_large_prefix` variable has been removed. - -This variable is deprecated in `Percona Server for MySQL 8.3.0-1` and will be removed in a future release. - -When enabled, this option allows index key prefixes longer than 767 bytes (up to 3072 bytes). The values for `rocksdb_large_prefix` should be the same between source and replica. - - ### `rocksdb_lock_scanned_rows` | Option | Description | @@ -2160,9 +2032,6 @@ Specifies whether to hold the lock on rows that are scanned during `UPDATE` and not actually updated. Disabled by default. - - - ### `rocksdb_lock_wait_timeout` | Option | Description | @@ -2178,9 +2047,6 @@ before aborting the request. Default value is `1`. Allowed range is up to `1073741824`. - - - ### `rocksdb_log_file_time_to_roll` | Option | Description | @@ -2379,9 +2245,6 @@ The minimum value is `0` and the maximum value is `UINT64_MAX`. Tracks the history for at most `rockdb_mx_compaction_history` completed compactions. The history is in the INFORMATION_SCHEMA.ROCKSDB_COMPACTION_HISTORY table. - - - ### `rocksdb_max_file_opening_threads` | Option | Description | @@ -2393,14 +2256,7 @@ Tracks the history for at most `rockdb_mx_compaction_history` completed compacti | Default | 16 | -This variable sets `DBOptions::max_file_opening_threads` for RocksDB. The default value is `16`. The minimum value is `1` and the maximum value is 2147483647 (`INT_MAX`). - -#### Version changes - -In Percona Server for MySQL 8.4.7-7, the maximum value was changed to `262144`. - - - +This variable sets `DBOptions::max_file_opening_threads` for RocksDB. The default value is `16`. The minimum value is `1` and the maximum value is `262144` (`INT_MAX`). ### `rocksdb_max_latest_deadlocks` @@ -2415,8 +2271,6 @@ In Percona Server for MySQL 8.4.7-7, the maximum value was changed to `262144`. Specifies the maximum number of recent deadlocks to store. - - ### `rocksdb_max_log_file_size` | Option | Description | @@ -3040,8 +2894,6 @@ Default value is `3600`. Allowed is from `0` to `4294967295`. - - ### `rocksdb_signal_drop_index_thread` | Option | Description | @@ -3055,8 +2907,6 @@ Allowed is from `0` to `4294967295`. Signals the MyRocks drop index thread to wake up. - - ### `rocksdb_sim_cache_size` | Option | Description | @@ -3071,8 +2921,6 @@ Enables the simulated cache, which allows us to figure out the hit/miss rate with a specific cache size without changing the real block cache. - - ### `rocksdb_skip_bloom_filter_on_read` | Option | Description | @@ -3103,8 +2951,6 @@ Specifies whether to skip caching data on read requests. Disabled by default (caching is not skipped). - - ### `rocksdb_skip_locks_if_skip_unique_check` | Option | Description | @@ -3118,8 +2964,6 @@ Disabled by default (caching is not skipped). Skip row locking when unique checks are disabled. - - ### `rocksdb_sst_mgr_rate_bytes_per_sec` | Option | Description | @@ -3135,8 +2979,6 @@ Default value is `0`. This option is not effective on HDD. Allowed range is from `0` to `18446744073709551615`. - - ### `rocksdb_stats_dump_period_sec` | Option | Description | @@ -3153,8 +2995,6 @@ Default value is `600`. Allowed range is up to `2147483647`. - - ### `rocksdb_stats_level` | Option | Description | @@ -3168,8 +3008,6 @@ Allowed range is up to `2147483647`. Controls the RocksDB statistics level. The default value is “0” (kExceptHistogramOrTimers), which is the fastest level. The maximum value is “4”. - - ### `rocksdb_stats_recalc_rate` | Option | Description | @@ -3184,8 +3022,6 @@ Specifies the number of indexes to recalculate per second. Recalculating index s Default value is `0`. Allowed range is up to `4294967295`. - - ### `rocksdb_store_row_debug_checksums` | Option | Description | @@ -3200,47 +3036,6 @@ Specifies whether to include checksums when writing index or table records. Disabled by default. - - -### `rocksdb_strict_collation_check` - -| Option | Description | -|--------------|----------------------------------| -| Command-line | --rocksdb-strict-collation-check | -| Dynamic | Yes | -| Scope | Global | -| Data type | Boolean | -| Default | ON | - -**[Removed: 8.4.5-5]** As of Percona Server for MySQL 8.4.5-5, the `rocksdb_strict_collation_check` variable has been removed. - -Specifies whether to check and verify -that table indexes have proper collation settings. -Enabled by default. - - - - -### `rocksdb_strict_collation_exceptions` - -| Option | Description | -|--------------|---------------------------------------| -| Command-line | --rocksdb-strict-collation-exceptions | -| Dynamic | Yes | -| Scope | Global | -| Data type | String | -| Default | | - -**[Removed: 8.4.5-5]** As of Percona Server for MySQL 8.4.5-5, the `rocksdb_strict_collation_exceptions` variable has been removed. - -Lists tables (as a regular expression) that should be excluded -from verifying case-sensitive collation -enforced by rocksdb_strict_collation_check. -Empty by default. - - - - ### `rocksdb_table_cache_numshardbits` | Option | Description | @@ -3256,8 +3051,6 @@ The default value is `6`. The allowed range is from `0` to `19`. - - ### `rocksdb_table_stats_background_thread_nice_value` | Option | Description | @@ -3272,9 +3065,6 @@ The nice value for index stats. The minimum = -20 (THREAD_PRIO_MIN) The maximum = 19 (THREAD_PRIO_MAX) - - - ### `rocksdb_table_stats_max_num_rows_scanned` | Option | Description | @@ -3309,8 +3099,6 @@ The minimum is `0`. The maximum is `18,446,744,073,709,551,615`. - - ### `rocksdb_table_stats_recalc_threshold_pct` | Option | Description | @@ -3328,8 +3116,6 @@ The minimum value is `0` The maximum value is `100` (RDB_TBL_STATS_RECALC_THRESHOLD_PCT_MAX). - - ### `rocksdb_table_stats_sampling_pct` | Option | Description | @@ -3346,7 +3132,6 @@ Default value is `10`. Allowed range is from `0` to `100`. - ### `rocksdb_table_stats_skip_system_cf` | Option | Description | @@ -3357,7 +3142,6 @@ Allowed range is from `0` to `100`. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. Determines whether to skip recording table statistics for the system column family. @@ -3376,8 +3160,6 @@ family. Enables table-scan-based index calculations. The default value is `OFF`. - - ### `rocksdb_tmpdir` | Option | Description | @@ -3391,8 +3173,6 @@ Enables table-scan-based index calculations. The default value is `OFF`. Specifies the path to the directory for temporary files during DDL operations. - - ### `rocksdb_trace_block_cache_access` | Option | Description | @@ -3406,8 +3186,6 @@ Specifies the path to the directory for temporary files during DDL operations. Defines the block cache trace option string. The format is sampling frequency: max_trace_file_size:trace_file_name. The sampling frequency value and max_trace_file_size value are positive integers. The block accesses are saved to the `rocksdb_datadir/block_cache_traces/trace_file_name`. The default value is an empty string. - - ### `rocksdb_trace_queries` | Option | Description | @@ -3421,8 +3199,6 @@ Defines the block cache trace option string. The format is sampling frequency: m This variable is a trace option string. The format is sampling_frequency:max_trace_file_size:trace_file_name. The sampling_frequency and max_trace_file_size are positive integers. The queries are saved to the rocksdb_datadir/queries_traces/trace_file_name. - - ### `rocksdb_trace_sst_api` | Option | Description | @@ -3438,8 +3214,6 @@ for each call to `SstFileWriter`. Disabled by default. - - ### `rocksdb_track_and_verify_wals_in_manifest` | Option | Description | @@ -3469,8 +3243,6 @@ When enabled this variable allows/encourages threads that are using two-phase commit to `prepare` in parallel. - - ### `rocksdb_unsafe_for_binlog` | Option | Description | @@ -3486,8 +3258,6 @@ which may break consistency. Disabled by default. - - ### `rocksdb_update_cf_options` | Option | Description | @@ -3502,8 +3272,6 @@ Specifies option updates for each column family. Empty by default. - - ### `rocksdb_use_adaptive_mutex` | Option | Description | @@ -3518,8 +3286,6 @@ Specifies whether to use adaptive mutex which spins in user space before resorting to the kernel. Disabled by default. - - ### `rocksdb_use_default_sk_cf` | Option | Description | @@ -3533,8 +3299,6 @@ resorting to the kernel. Disabled by default. Use `default_sk` column family for secondary keys. - - ### `rocksdb_use_direct_io_for_flush_and_compaction` | Option | Description | @@ -3550,8 +3314,6 @@ without caches or buffers. Disabled by default. - - ### `rocksdb_use_direct_reads` | Option | Description | @@ -3569,8 +3331,6 @@ If you enable this, make sure that rocksdb_allow_mmap_reads is disabled. - - ### `rocksdb_use_fsync` | Option | Description | @@ -3586,8 +3346,6 @@ when requesting a sync of a data file. Disabled by default. - - ### `rocksdb_use_hyper_clock_cache` | Option | Description | @@ -3603,7 +3361,6 @@ If enabled, this variable uses HyperClockCache instead of default LRUCache for R This variable is disabled (OFF) by default. - ### `rocksdb_use_io_uring` | Option | Description | @@ -3614,7 +3371,6 @@ This variable is disabled (OFF) by default. | Data type | Boolean | | Default | OFF | -Added in Percona Server for MySQL 8.4.5-5. Enables the use of `io_uring` for RocksDB. @@ -3634,8 +3390,6 @@ This variable is [tech preview](./glossary.md#tech-preview) and may be removed i Allows to turn on the write buffer manager (WriteBufferManager) from `cnf` files. This variable is related to [`rocksdb_charge_memory`](#rocksdb_charge_memory). - - ### `rocksdb_validate_tables` | Option | Description | @@ -3658,8 +3412,6 @@ Specifies whether to verify that MySQL data dictionary is equal to the MyRocks d * `2`: verify and continue with error. - - ### `rocksdb_verify_row_debug_checksums` | Option | Description | @@ -3674,8 +3426,6 @@ Specifies whether to verify checksums when reading index or table records. Disabled by default. - - ### `rocksdb_wal_bytes_per_sync` | Option | Description | @@ -3693,8 +3443,6 @@ Default value is `0`, meaning that files are never synced. Allowed range is up to `18446744073709551615`. - - ### `rocksdb_wal_dir` | Option | Description | @@ -3708,8 +3456,6 @@ Allowed range is up to `18446744073709551615`. Specifies the path to the directory where MyRocks stores WAL files. - - ### `rocksdb_wal_recovery_mode` | Option | Description | @@ -3734,8 +3480,6 @@ The following are the options: * `3`: If a corrupted WAL entry is detected, skip only the corrupted entry and continue the apply WAL entries. This option can be dangerous. - - ### `rocksdb_wal_size_limit_mb` | Option | Description | @@ -3752,8 +3496,6 @@ Default value is `0` (never rotated). Allowed range is up to `9223372036854775807`. - - ### `rocksdb_wal_ttl_seconds` | Option | Description | @@ -3769,8 +3511,6 @@ Default is `0` (archived WAL files are never deleted). Allowed range is up to `9223372036854775807`. - - ### `rocksdb_whole_key_filtering` | Option | Description | @@ -3787,8 +3527,6 @@ Enabled by default. Make sure that lookups use the whole key for matching. - - ### `rocksdb_write_batch_flush_threshold` | Option | Description | @@ -3802,8 +3540,6 @@ Make sure that lookups use the whole key for matching. This variable specifies the maximum size of the write batch in bytes before flushing. Only valid if `rockdb_write_policy` is WRITE_UNPREPARED. There is no limit if the variable is set to the default setting. - - ### `rocksdb_write_batch_max_bytes` | Option | Description | @@ -3820,8 +3556,6 @@ limit. In case user exceeds the limit following error will be shown: limit reached`. - - ### `rocksdb_write_disable_wal` | Option | Description | @@ -3836,8 +3570,6 @@ Lets you temporarily disable writes to WAL files, which can be useful for bulk loading. - - ### `rocksdb_write_ignore_missing_column_families` | Option | Description | @@ -3852,8 +3584,6 @@ Specifies whether to ignore writes to column families that do not exist. Disabled by default (writes to non-existent column families are not ignored). - - ### `rocksdb_write_policy` | Option | Description | diff --git a/docs/mysql-upgrade-paths.md b/docs/mysql-upgrade-paths.md index 32817016f91..ef8fa87f1b5 100644 --- a/docs/mysql-upgrade-paths.md +++ b/docs/mysql-upgrade-paths.md @@ -2,6 +2,8 @@ MySQL supports different upgrade paths depending on the source and target versions. Choose the appropriate method based on your current version and target. + + ## Upgrade path matrix | Upgrade Path | Path Examples | Supported Upgrade Methods | diff --git a/docs/percona-sequence-table.md b/docs/percona-sequence-table.md index becd3c9271f..0c284c98451 100644 --- a/docs/percona-sequence-table.md +++ b/docs/percona-sequence-table.md @@ -13,6 +13,8 @@ Using the `PERCONA_SEQUENCE_TABLE()` function provides the following: ## Version update + + Percona Server for MySQL 8.4 deprecated [`SEQUENCE_TABLE()`](sequence-table.md), and Percona may remove this function in a future release. We recommend that you use `PERCONA_SEQUENCE_TABLE()` instead. To maintain compatibility with existing third-party software, `SEQUENCE_TABLE` is no longer a reserved term and can be used as a regular identifier. diff --git a/docs/percona-toolkit-8.4-updates.md b/docs/percona-toolkit-9.7-updates.md similarity index 83% rename from docs/percona-toolkit-8.4-updates.md rename to docs/percona-toolkit-9.7-updates.md index f831e6c54ea..f6ce4852cf4 100644 --- a/docs/percona-toolkit-8.4-updates.md +++ b/docs/percona-toolkit-9.7-updates.md @@ -30,13 +30,10 @@ Aliases with the old names remain for a transition period; update scripts and ru ## Further reading * [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.md) +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) * [Upgrade procedures for {{vers}}](./upgrade-procedures.md) * [Upgrade strategies](./upgrade-strategies.md) * [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) * [Upgrade from plugins to components](./upgrade-components.md) * [Downgrade options](./downgrade.md) -* [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) -* [Compatibility and removed items in {{vers}}](./8.4-compatibility-and-removed-items.md) -* [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) diff --git a/docs/release-notes/8.4.0-1.md b/docs/release-notes/8.4.0-1.md deleted file mode 100644 index 1e5e45240c4..00000000000 --- a/docs/release-notes/8.4.0-1.md +++ /dev/null @@ -1,105 +0,0 @@ -# Percona Server for MySQL 8.4.0-1 (2024-08-28) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.0-1] includes all the features and bug fixes available in the -MySQL 8.4 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -In MySQL 8.0, the release model changed to include new features in patch releases, allowing MySQL to introduce new features more frequently. However, this approach was complex for projects and applications needing only critical patches with minimal changes. - -MySQL then moved to a versioning model with two options: Innovation releases and Long-Term Support (LTS) releases. Both types are production-ready. - -Innovation releases offer access to the latest features, making them ideal for dynamic environments with strong automated testing and continuous integration. - -Changes were made to each Innovation release that are now included in the 8.4 (LTS) release. You should review the Innovation release notes for details. - -- [Percona Server for MySQL 8.1.0-1 (2023-11-27)](https://docs.percona.com/percona-server/innovation-release/release-notes/8.1.0-1.html) - -- [Percona Server for MySQL 8.2.0-1 (2024-02-05)](https://docs.percona.com/percona-server/innovation-release/release-notes/8.2.0-1.html) - -- [Percona Server for MySQL 8.3.0-1 (2024-04-16)](https://docs.percona.com/percona-server/innovation-release/release-notes/8.3.0-1.html) - -LTS releases are more suitable for stable, established environments where minimal changes are needed. These releases include only essential fixes, reducing the risk of changes in the database software’s behavior. - -This 8.4.0-1 release is the first 8.4 LTS series. - -Improvements and bug fixes introduced by Oracle for MySQL 8.4 and included in Percona Server for MySQL are the following: - -* The MySQL native password has been deprecated and is no longer loaded by default. However, it can be loaded if needed. - -* The clone plugin allows cloning between different point releases within the same series. You only must match the major and minor version numbers for cloning. - -* GTIDs (Global Transaction Identifiers) can now handle groups of transactions, which helps speed up processing. - -* `mysqldump` can now create output for older versions of MySQL. - -* Automatic updates for histograms. When enabled, the histogram updates automatically whenever `ANALYZE TABLE` is run on the table. InnoDB's automatic recalculation of persistent statistics also updates the histogram when automatic updates are enabled. - -* Adds a new privilege called FLUSH_PRIVILEGES. This privilege explicitly allows the use of FLUSH PRIVILEGES statements. Unlike the RELOAD privilege, FLUSH_PRIVILEGES only applies to FLUSH PRIVILEGES statements. - -* The terms "MASTER" and "SLAVE" in replication commands are being replaced with "SOURCE" and "REPLICA". This change is part of an ongoing effort to use more inclusive language. - -* Removed the the `mysqlpump` utility. - -* Removed the `mysql_upgrade` utility. - -* The default values for specific InnoDB server system variables have changed. See [What is new in MySQL 8.4 since 8.0](https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html) for details. - -Find the complete list of bug fixes and changes in the [MySQL 8.4 Release Notes].' - -## New features - -* [PS-9233](https://perconadev.atlassian.net/browse/PS-9233): Adds the [UUID_VX component](../uuid-versions.md) which provides a set of functions for generating and working with various versions of the Universally Unique Identifier (UUID). - -## Improvements - -* [PS-9302](https://perconadev.atlassian.net/browse/PS-9302): Changed underlying internal data structure used by the binlog transaction dependency tracking in `WRITESET` mode (MySQL 8.4 removed the `COMMIT_ORDER` mode). Instead of `std::map` (an RB-tree) we now use `std::unordered_map` (a hash) which gives much better performance for lookup operations. This change showed an up to 17% Queries per second (QPS) increase in the `oltp_inlist_update` workload. - -## Bug fixes - -* [PS-9092](https://perconadev.atlassian.net/browse/PS-9092): There were data inconsistencies during a high rate of page split/merge. - -* [PS-9121](https://perconadev.atlassian.net/browse/PS-9121): MySQL exited when InnoDB failed to update a spatial index. - -* [PS-9151](https://perconadev.atlassian.net/browse/PS-9151): Percona server 8.0 build failed on CentOS 7 with `-DWITH_SSL=openssl11`. - -* [PS-9219](https://perconadev.atlassian.net/browse/PS-9219): While converting the charset collation in a table, MySQL converted the date and time data types columns in the `.ibd` file. However, the `collation_id` in the `.ibd` file did not align with that of the data dictionary. - -* [PS-9155](https://perconadev.atlassian.net/browse/PS-9155): The server exited during the execution of the complicated query with 9 CTEs. - -* [PS-9235](https://perconadev.atlassian.net/browse/PS-9235): Keyring vault failed to work with `binlog_rotate_encryption_master_key_at_startup`. - -## Deprecation - -* [PS-8963](https://perconadev.atlassian.net/browse/PS-8963): The `SEQUENCE_TABLE()` function is deprecated and may be removed in a future release. We recommend that you use `PERCONA_SEQUENCE_TABLE()` instead. To maintain compatibility with existing third-party software, `SEQUENCE_TABLE` is no longer a reserved term and can be used as a regular identifier. Find more information in [PERCONA_SEQUENCE_TABLE(n) function](../percona-sequence-table.md) - -## Packaging notes - -Percona Server for MySQL 8.4.0-1 is compatible with Ubuntu 24.04. - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* 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] - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md -[Percona Server for MySQL 8.4.0-1]: https://www.percona.com/software/mysql-database/percona-server -[MySQL 8.4 Release Notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-0.html -[Percona Server for MySQL 8.4]: https://docs.percona.com/percona-server/8.4/installation.html - -[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server -[Percona Software Downloads]: https://www.percona.com/downloads -[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md -[training]: https://www.percona.com/training -[Percona Training - Start learning now]: https://learn.percona.com/contact-me \ No newline at end of file diff --git a/docs/release-notes/8.4.1.md b/docs/release-notes/8.4.1.md deleted file mode 100644 index d2fbda54470..00000000000 --- a/docs/release-notes/8.4.1.md +++ /dev/null @@ -1,3 +0,0 @@ -# Percona Server for MySQL 8.4.1 - -Due to a critical fix, MySQL Community Server 8.4.2 was released shortly (22 days later) after MySQL Community Server 8.4.1. Percona has skipped the release of Percona Server for MySQL 8.4.1. Percona Server for MySQL 8.4.2-2 contains all bug fixes and contents from MySQL Community Server 8.4.1 and MySQL Community Server 8.4.2. diff --git a/docs/release-notes/8.4.2-2.md b/docs/release-notes/8.4.2-2.md deleted file mode 100644 index da14a20e482..00000000000 --- a/docs/release-notes/8.4.2-2.md +++ /dev/null @@ -1,84 +0,0 @@ -# Percona Server for MySQL 8.4.2-2 (2024-11-04) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.2-2] includes all the features and bug fixes available in the -MySQL 8.4 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -Improvements and bug fixes introduced by Oracle for MySQL 8.4.1 and 8.4.2 and included in Percona Server for MySQL are the following: - -* MySQL stopped unexpectedly during an UPDATE after an ALTER TABLE operation. - -* Shutting down the server after an XA START with an empty XA transaction caused it to stop unexpectedly. - -* Shutting down the replication applier or binlog applier during an empty XA transaction caused the system to stop unexpectedly. - -* The result from a spatial index with a column containing a spatial reference identifier (SRID) was empty. Using FORCE INDEX to scan this index caused an assertion error. - -* In some cases, after creating more than 8000 tables, the server failed to restart. - -* Startup tablespace file scanning performance was improved. - -Find the complete list of bug fixes and changes in the [MySQL 8.4.1 Release Notes] and [MySQL 8.4.2 Release Notes]. - -## Bug fixes - -* [PS-8057]: `slow_query_log_file` does not match the filename defined in my.cnf. - -* [PS-9144]: Missing rows after running a null `ALTER` with `ALGORTITHM=INPLACE`. - -* [PS-9214]: An `ALTER` table online results in a "duplicate key" error on the primary key (only index). - -* [PS-9306]: The following MySQL versions unexpectedly exit if the database has more than 10K tables: - - * 8.0.38 - - * 8.4.1 - - * 9.0.0 - -* [PS-9314]: Using a JSON_TABLE in Percona Server for MySQL 8.0.36 causes a signal 11 error. - -* [PS-9286]: The KMIP component left keys in a `pre-active` state. - -* [PS-9384]: A race condition between `dict_stats_thread` and the cost model initialization cause sporadic exits in Jenkins on start up. - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* 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] - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md -[Percona Server for MySQL 8.4.2-2]: https://www.percona.com/software/mysql-database/percona-server - - - -[PS-8057]: https://perconadev.atlassian.net/browse/PS-8057 -[PS-9144]: https://perconadev.atlassian.net/browse/PS-9144 -[PS-9214]: https://perconadev.atlassian.net/browse/PS-9214 -[PS-9306]: https://perconadev.atlassian.net/browse/PS-9306 -[PS-9314]: https://perconadev.atlassian.net/browse/PS-9314 - -[PS-9384]: https://perconadev.atlassian.net/browse/PS-9384 -[PS-9286]: https://perconadev.atlassian.net/browse/PS-9286 - - -[Percona Server for MySQL 8.4]: ../installation.md - -[MySQL 8.4.1 Release Notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-1.html -[MySQL 8.4.2 Release Notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-2.html - -[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server -[Percona Software Downloads]: https://www.percona.com/downloads -[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md -[training]: https://www.percona.com/training -[Percona Training - Start learning now]: https://learn.percona.com/contact-me diff --git a/docs/release-notes/8.4.3-3.md b/docs/release-notes/8.4.3-3.md deleted file mode 100644 index fd102435913..00000000000 --- a/docs/release-notes/8.4.3-3.md +++ /dev/null @@ -1,55 +0,0 @@ -# Percona Server for MySQL 8.4.3-3 (2024-12-18) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.3-3] includes all the features and bug fixes available in the MySQL 8.4.3 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -Improvements and bug fixes introduced by Oracle for MySQL 8.4.3 and included in Percona Server for MySQL are the following: - -* The query `SELECT * FROM sys.innodb_lock_waits;` now fetches only two locks per wait, instead of scanning all locks twice, improving performance under heavy load. Additionally, primary keys have been added to `DATA_LOCKS` and `DATA_LOCK_WAITS`. (Bug #100537, Bug #31763497) - -* Changes in MySQL 8.0.33 caused performance degradation for queries using joins on `InnoDB` tables due to refactoring of functions that were previously inline. - -* The server crashed when it tried to update columns altered with `NULL` as the default value using the `INSTANT` algorithm. - -* The server could crash during `DELETE` or `UPDATE` operations if a column was dropped using the `INSTANT` algorithm. - -* Importing a table created under a different `sql_mode` sometimes led to schema mismatches, risking data corruption in secondary indexes. The fix now includes integrity checks on the imported tablespace. - -* Rebuilding tables with secondary indexes required more file `I/O` operations compared to MySQL 8.0.26, which slowed down query performance. - -Find the complete list of bug fixes and changes in the [MySQL 8.4.3 release notes]. - -## Bug fixes - -* [PS-9382](https://perconadev.atlassian.net/browse/PS-9382): After an upgrade, the telemetry daemon ran continuously. The telemetry daemon was manually stopped and the service was disabled. Adding `percona_telemetry_disable=1` to the configuration file and restarting MySQL led to the server becoming unresponsive and required a forced termination. - -* [PS-9453](https://perconadev.atlassian.net/browse/PS-9453): The `percona_telemetry` tool caused a long wait on `COND_thd_list` if the root user is absent. - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* 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] - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md -[Percona Server for MySQL 8.4.3-3]: https://www.percona.com/software/mysql-database/percona-server - - -[Percona Server for MySQL 8.4]: ../installation.md - -[MySQL 8.4.3 release notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-3.html - -[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server -[Percona Software Downloads]: https://www.percona.com/downloads -[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md -[training]: https://www.percona.com/training -[Percona Training - Start learning now]: https://learn.percona.com/contact-me diff --git a/docs/release-notes/8.4.4-4.md b/docs/release-notes/8.4.4-4.md deleted file mode 100644 index 98716444a94..00000000000 --- a/docs/release-notes/8.4.4-4.md +++ /dev/null @@ -1,91 +0,0 @@ -# Percona Server for MySQL 8.4.4-4 (2025-03-18) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.4-4] includes all the features and bug fixes available in the MySQL 8.4.4 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -### Percona Server for MySQL 8.4.4-4 - -* Improves the [Data masking](..//data-masking-overview.md) performance by introducing an internal term cache. The new cache speeds up lookups for `gen_blocklist()` and `gen_dictionary()` functions by storing dictionary data in memory. However, if the dictionary table is modified directly (outside of the proper functions), the cache may become out of sync. To fix this, use the `new masking_dictionaries_flush()` function. - - Changes also affect row-based replication: dictionary changes on the source server are replicated, but the term cache on the replica doesn’t update immediately. To address this, a new system variable, `component_masking_functions.dictionaries_flush_interval_seconds`, can be set to automatically refresh the cache at specified intervals, helping replicas stay in sync. - - Find more detailed information in the [Data masking overview](..//data-masking-overview.md) and in the [Data masking component functions](..//data-masking-function-list.md). - -* Improves the behavior of `audit_log_filter_set_user` to support wildcards in the hostname. - -### MySQL 8.4.4 - -Improvements and bug fixes introduced by Oracle for MySQL 8.4.4 and included in Percona Server for MySQL are the following: - -* Fixed an assertion in debug builds where certain IO buffer serializations caused system hangs. (Bug #37139618) - -* Resolved a failure when dropping the primary key and adding a new `AUTO_INCREMENT` column as the primary key in descending order using the `INPLACE` algorithm resulted in failure. (Bug #36658450) - -* Fixed incorrect results, including missing rows, in queries that used a descending primary key with the `index_merge` optimization. (Bug #106207, Bug #33767814) - -* Addressed a replication channel issue where MySQL failed to stop the channel properly when large transactions were being processed, and `STOP REPLICA` was requested. This issue also prevented graceful server shutdown, requiring process termination or system restart. (Bug #115966, Bug #37008345) - -Find the complete list of bug fixes and changes in the [MySQL 8.4.4 release notes]. - -## Improvements - -* [PS-9148](https://perconadev.atlassian.net/browse/PS-9148): Extends the [Data masking](..//data-masking-overview.md) with new additions from MySQL 8.3.0 [Enterprise Data Masking and De-Identification Component Variables](https://dev.mysql.com/doc/refman/8.4/en/data-masking-component-variables.html). - -* [PS-9024](https://perconadev.atlassian.net/browse/PS-9024): Improves the behavior of `audit_log_filter_set_user` to support wildcards in the hostname. - -## Bug fixes - -* [PS-9391](https://perconadev.atlassian.net/browse/PS-9391): The replication broke with the error `HA_ERR_KEY_NOT_FOUND` when the `slave_rows_search_algorithms` were set to `INDEX_SCAN,HASH_SCAN`. - -* [PS-9416](https://perconadev.atlassian.net/browse/PS-9416): The error messages from the Key Management Interoperability Protocol (KMIP) component were not descriptive. - -* [PS-9509](https://perconadev.atlassian.net/browse/PS-9509): Percona Server stopped tracking the `global_connection_memory` when using `thread_handling='pool-of-threads'`. - -* [PS-9537](https://perconadev.atlassian.net/browse/PS-9537): When building a new component that used mysql_command_xxx services (such as `mysql_command_factory`, `mysql_command_query`, etc.), it was impossible to reuse the same connection to run multiple queries. This issue was observed with `SELECT` queries, but it may also apply to `INSERT`, `UPDATE`, and `DELETE` operations. - -* [PS-9542](https://perconadev.atlassian.net/browse/PS-9542): Added Clang-19 to Azure pipelines, and fixed the clang-19 compilation issues. - -* [PS-9551](https://perconadev.atlassian.net/browse/PS-9551): When building a new component that used mysql_command_xxx services (such as `mysql_command_factory`, `mysql_command_query`, etc.), a server exit was encountered when setting the `MYSQL_COMMAND_LOCAL_THD_HANDLE` option. - -* [PS-9611](https://perconadev.atlassian.net/browse/PS-9611): An assertion failure occurred during server shutdown: `!is_set() || m_can_overwrite_status`. - -* [PS-9612](https://perconadev.atlassian.net/browse/PS-9612): Percona Server build failed if more than 128 threads were available. Percona merged the fix from [MariaDB](https://github.com/MariaDB/server/commit/fd9f1638ea7). - -* [PS-9654](https://perconadev.atlassian.net/browse/PS-9654): There was an incorrect usage of `setup_component_customized.inc` in the MySQL Test Runner (MTR) tests. - -* [PS-9033](https://perconadev.atlassian.net/browse/PS-9033): The `audit_log_filter` plugin did not register remote accesses. - -* [PS-9464](https://perconadev.atlassian.net/browse/PS-9464): Some queries that used hash antijoins returned incorrect results when the hash table did not fit in the join buffer and spilled to the disk. (The query triggering the issue specified LEFT JOIN, which was transformed internally from a left outer join to an antijoin.) Percona merged the fix from MySQL (Bug #116334, Bug #37161583). - -* [PS-9614](https://perconadev.atlassian.net/browse/PS-9614): The `Pool-of-Threads` timer thread failed to start if `mysqld` was started with `--daemonize`. - -* [PS-9668](https://perconadev.atlassian.net/browse/PS-9668): The server exited when executing `LOCK TABLES FOR BACKUP` after audit logs were enabled. - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* 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] - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md -[Percona Server for MySQL 8.4.4-4]: https://www.percona.com/software/mysql-database/percona-server - - -[Percona Server for MySQL 8.4]: ../installation.md - -[MySQL 8.4.4 release notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-4.html - -[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server -[Percona Software Downloads]: https://www.percona.com/downloads -[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md -[training]: https://www.percona.com/training -[Percona Training - Start learning now]: https://learn.percona.com/contact-me diff --git a/docs/release-notes/8.4.5-5.md b/docs/release-notes/8.4.5-5.md deleted file mode 100644 index ad509a61e27..00000000000 --- a/docs/release-notes/8.4.5-5.md +++ /dev/null @@ -1,130 +0,0 @@ -# Percona Server for MySQL 8.4.5-5 (2025-05-29) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.5-5] includes all the features and bug fixes available in the MySQL 8.4.5 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -### Percona Server for MySQL 8.4.5-5 - -* Updates the C++ level of the KMPI library to enhance error handling capabilities. - -* 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. - -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). - -This release adds the following changes to the list of [MyRocks variables](../myrocks-server-variables.md). - -**Adds new MyRocks variables** - -* [`--rocksdb_bulk_load_compression_parallel_threads`](../myrocks-server-variables.md#rocksdb_bulk_load_compression_parallel_threads) -* [`--rocksdb_bulk_load_enable_unique_key_check`](../myrocks-server-variables.md#rocksdb_bulk_load_enable_unique_key_check) -* [`--rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds`](../myrocks-server-variables.md#rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds) -* [`--rocksdb_enable_udt_in_mem`](../myrocks-server-variables.md#rocksdb_enable_udt_in_mem) -* [`--rocksdb_invalid_create_option_action`](../myrocks-server-variables.md#rocksdb_invalid_create_option_action) -* [`--rocksdb_io_error_action`](../myrocks-server-variables.md#rocksdb_io_error_action) -* [`--rocksdb_table_stats_skip_system_cf`](../myrocks-server-variables.md#rocksdb_table_stats_skip_system_cf) -* [`--rocksdb_use_io_uring`](../myrocks-server-variables.md#rocksdb_use_io_uring) -* [`--rocksdb_enable_instant_ddl`](../myrocks-server-variables.md#rocksdb_enable_instant_ddl) -* [`--rocksdb_enable_instant_ddl_for_append_column`](../myrocks-server-variables.md#rocksdb_enable_instant_ddl_for_append_column) -* [`--rocksdb_enable_instant_ddl_for_column_default_changes`](../myrocks-server-variables.md#rocksdb_enable_instant_ddl_for_column_default_changes) -* [`--rocksdb_enable_instant_ddl_for_drop_index_changes`](../myrocks-server-variables.md#rocksdb_enable_instant_ddl_for_drop_index_changes) -* [`--rocksdb_enable_instant_ddl_for_table_comment_changes`](../myrocks-server-variables.md#rocksdb_enable_instant_ddl_for_table_comment_changes) -* [`--rocksdb-bulk-load-compression-parallel-threads`](../myrocks-server-variables.md#rocksdb_bulk_load_compression_parallel_threads) -* [`--rocksdb-bulk-load-enable-unique-key-check`](../myrocks-server-variables.md#rocksdb_bulk_load_enable_unique_key_check) -* [`--rocksdb-debug-skip-bloom-filter-check-on-iterator-bounds`](../myrocks-server-variables.md#rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds) - -**Changes default values of MyRocks variables** - -* [`--rocksdb_disable_instant_ddl`](../myrocks-server-variables.md#rocksdb_disable_instant_ddl) - the default value is changed from `ON` to `OFF`. - -* [`--rocksdb_file_checksums`](../myrocks-server-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`. - -* [`--rocksdb_compaction_readahead_size`](../myrocks-server-variables.md#rocksdb_compaction_readahead_size) - the default value is changed from `0` (zero) to `2097152`. - -**Deprecates MyRocks variable** - -* [`--rocksdb_disable_instant_ddl`](../myrocks-server-variables.md#rocksdb_disable_instant_ddl) - this variable is being deprecated and is expected to be removed in a future release. - -**Removes MyRocks variables** - -* [`--rocksdb-access-hint-on-compaction-start`](../myrocks-server-variables.md#rocksdb_access_hint_on_compaction_start) -* [`--rocksdb_large_prefix`](../myrocks-server-variables.md#rocksdb_large_prefix) -* [`--rocksdb_strict_collation_check`](../myrocks-server-variables.md#rocksdb_strict_collation_check) -* [`--rocksdb_strict_collation_exceptions`](../myrocks-server-variables.md#rocksdb_strict_collation_exceptions) - -### MySQL 8.4.5 - -Improvements and bug fixes introduced by Oracle for MySQL 8.4.5 and included in Percona Server for MySQL are the following: - -* Fixed an issue where `CHECK TABLE` sometimes incorrectly reported that spatial indexes were corrupted. (Bug #37286473) - -* Fixed an issue in InnoDB redo log recovery to improve data safety after a crash. (Bug #37061960) - -* Fixed an issue where reading `index_id` values could lead to incorrect behavior with indexes. (Bug #36993445, Bug #37709706) - -* Fixed a bug related to the `lower_case_table_names` setting that caused inconsistent behavior with table names on different systems. (Bug #32288105) - -* Fixed a bug where `mysqldump` did not properly escape certain special characters in its output. (Bug #37540722, Bug #37709163) - -* The `fprintf_string()` function in `mysqldump` did not use the correct quote character for escaping strings. (Bug #37607195) - -Find the complete list of bug fixes and changes in the [MySQL 8.4.5 release notes]. - -### Improvements - -* [PS-9561](https://perconadev.atlassian.net/browse/PS-9561): Updates the C++ level of the KMPI library to enhance error handling capabilities. - -* [PS-9810](https://perconadev.atlassian.net/browse/PS-9810): Updates the list of MyRocks variables. You can find the list of variables in [MyRocks server variables](../myrocks-server-variables.md). - -## Bug Fixes - -* [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 ). - -* [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`. - -* [PS-9628](https://perconadev.atlassian.net/browse/PS-9628): The `binlog_encryption` did not work with `component_keyring_kmip`. - -* [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. - -* [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. - -* [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. - -* [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()`. - -* [PS-9764](https://perconadev.atlassian.net/browse/PS-9764): Added clang-20 to Azure Pipelines and fixed clang-20 compilation issues. - -* [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. - -* [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. - -* PS-9661: The encryption of system tablespaces using `component_keyring_kmip` failed. - - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* 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] - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md -[Percona Server for MySQL 8.4.5-5]: https://www.percona.com/software/mysql-database/percona-server - - -[Percona Server for MySQL 8.4]: ../installation.md - -[MySQL 8.4.5 release notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-5.html - -[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server -[Percona Software Downloads]: https://www.percona.com/downloads -[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md -[training]: https://www.percona.com/training -[Percona Training - Start learning now]: https://learn.percona.com/contact-me diff --git a/docs/release-notes/8.4.6-6.md b/docs/release-notes/8.4.6-6.md deleted file mode 100644 index 1fd65ebf580..00000000000 --- a/docs/release-notes/8.4.6-6.md +++ /dev/null @@ -1,75 +0,0 @@ -# Percona Server for MySQL 8.4.6-6 (2025-09-08) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.6-6] includes all the features and bug fixes available in the MySQL 8.4.6 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -### Percona Server for MySQL 8.4.6-6 - -Implements Link-Time Optimization (LTO) to generate more optimized release binaries, resulting in improved performance for specific workloads. - -### MySQL 8.4.6 - -Improvements and bug fixes introduced by Oracle for MySQL 8.4.6 and included in Percona Server for MySQL are the following: - -* Fixed an issue where rebuilding a primary key with duplicate entries could cause the server to stop unexpectedly. (Bug #37822992) - -* Fixed an issue related to dropping columns that were part of an index. (Bug #37726881) - -* Fixed an issue with indexing spatial datatype columns. (Bug #36682518) - -* Fixed an issue where creating a secondary index on a `VARCHAR` column could exceed configured memory limits, with the amount allocated being directly related to the `value of innodb_ddl_buffer_size`, leading to errors such as ERROR 1136 (21S01): Column count doesn't match value count at row 1. (Bug #37233273) - -Find the complete list of bug fixes and changes in the [MySQL 8.4.6 release notes]. - -## Bug Fixes - -* [PS-9159](https://perconadev.atlassian.net/browse/PS-9159): MySQL server exited when running `SELECT GLOBAL_TEMPORARY_TABLES` during an active Data Definition Language (DDL) operation. - -* [PS-9666](https://perconadev.atlassian.net/browse/PS-9666): MyRocks exited when inserting into a table with `unique_checks=OFF` and Time to Live (TTL) enabled. - -* [PS-9784](https://perconadev.atlassian.net/browse/PS-9784): Fix for `gcc-15` compilation issues. - -* [PS-9823](https://perconadev.atlassian.net/browse/PS-9823): The `mysql_migrate_keyring` component didn't work with Percona Server components. - -* [PS-9836](https://perconadev.atlassian.net/browse/PS-9836): Fix for performance regression when using `audit_log_filter` vs `audit_log` plugins. - -* [PS-9861](https://perconadev.atlassian.net/browse/PS-9861): Fixed an issue preventing installation of the `audit_log_filter` plugin when the `component_keyring_kmip` plugin, which integrates with Fortanix Data Security Manager (DSM) via the Key Management Interoperability Protocol (KMIP), was enabled. - -* [PS-9916](https://perconadev.atlassian.net/browse/PS-9916): Added logging of an ERROR message when a source server is stopped while waiting for acknowledgments (ACKs). - -* [PS-9956](https://perconadev.atlassian.net/browse/PS-9956): Percona Server exited using Group Replication with the `audit_log_filter` component enabled. - -## Build & packaging notes - -* The official packages were built with the `WITH_LTO=ON` flag to enable the Link-Time Optimization (LTO) feature. - -* Percona Server for MySQL 8.4.6.6 supports Red Hat Enterprise Linux 10. - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* 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] - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md -[Percona Server for MySQL 8.4.6-6]: https://www.percona.com/software/mysql-database/percona-server - - -[Percona Server for MySQL 8.4]: ../installation.md - -[MySQL 8.4.6 release notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-6.html - -[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server -[Percona Software Downloads]: https://www.percona.com/downloads -[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md -[training]: https://www.percona.com/training -[Percona Training - Start learning now]: https://learn.percona.com/contact-me diff --git a/docs/release-notes/8.4.7-7.md b/docs/release-notes/8.4.7-7.md deleted file mode 100644 index a4166fb233d..00000000000 --- a/docs/release-notes/8.4.7-7.md +++ /dev/null @@ -1,107 +0,0 @@ -# Percona Server for MySQL 8.4.7-7 (2025-12-22) - -Get started with [Quickstart Guide for Percona Server for MySQL]. - -[Percona Server for MySQL 8.4.7-7 :octicons-link-external-16:](https://www.percona.com/software/mysql-database/percona-server) includes all the features and bug fixes available in the MySQL 8.4.7 Community Edition in addition to enterprise-grade features developed by Percona. - -## Release highlights - -### Percona Server for MySQL 8.4.7-7 - -* Announcement – Discontinuation of the Percona PRO Program - - Percona has consolidated its build offerings. The Pro builds are no longer required. All features from the Percona Server for MySQL 8.0.x Pro build series have been merged into the main open source Community release. [FIPS-capable binaries](../fips.md) are included in all builds starting with this release. The FIPS mode remains off by default and must be enabled via [OS/OpenSSL configuration](../fips.md#prerequisites). - -* The audit log plugin has been reintroduced in Percona Server for MySQL 8.4. However, it is already marked as deprecated and is planned for removal in a future release. This deprecation is due to the availability of the [audit log filter component](../audit-log-filter-overview.md), which is the recommended replacement. Users should migrate to this component, which provides equivalent functionality with enhanced flexibility, performance, and filtering capabilities, ensuring continued support for auditing and compliance requirements. - -### MySQL 8.4.7 - -Improvements and bug fixes introduced by Oracle for MySQL 8.4.7 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.4.7 release notes :octicons-link-external-16:](https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-7.html). - -## Improvements - -* [PS-8980](https://perconadev.atlassian.net/browse/PS-8980): Percona Server for MySQL 8.4.7-7 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. - -* [PS-9826](https://perconadev.atlassian.net/browse/PS-9826): Added metrics collection for `component_js_lang`. Improved error handling by adding a safety check before accessing the query result vector. - -## Bug Fixes - -* [PS-9220](https://perconadev.atlassian.net/browse/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](https://perconadev.atlassian.net/browse/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-9815](https://perconadev.atlassian.net/browse/PS-9815): Percona Server using the `component_keyring_vault` component exited when it attempted to load a `component_keyring_vault.cnf` file containing incorrect setting values. - -* [PS-9834](https://perconadev.atlassian.net/browse/PS-9834): The Audit Log Filter incorrectly deletes all rotated logs if the `audit_log_filter.max_size` is set > 2 GiB. - -* [PS-9837](https://perconadev.atlassian.net/browse/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-10113](https://perconadev.atlassian.net/browse/PS-10113): Percona Server exited when a JavaScript routine attempted to allocate more memory than the internal heap limit allowed. - -* [PS-10131](https://perconadev.atlassian.net/browse/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-10283](https://perconadev.atlassian.net/browse/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. - -* [PS-10324](https://perconadev.atlassian.net/browse/PS-10324): The audit log filter component was missing required fields for the `table_access` and `general` event classes. - -### MyRocks - -* [PS-9680](https://perconadev.atlassian.net/browse/PS-9680): Calling `ALTER TABLE` from multiple threads in parallel could trigger the error “Invalid argument: Global seqno is required, but disabled.” - -* [PS-9838](https://perconadev.atlassian.net/browse/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-9840](https://perconadev.atlassian.net/browse/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](https://perconadev.atlassian.net/browse/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](https://perconadev.atlassian.net/browse/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](https://perconadev.atlassian.net/browse/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](https://perconadev.atlassian.net/browse/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](https://perconadev.atlassian.net/browse/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.4 adds support for Debian 13. - -* Percona Server for MySQL 8.4 has ended support for Ubuntu 20.04. - -## Known limitation - -MySQL Shell is not available as a prebuilt package for Debian 11 (Bullseye) in the Percona APT repository. Recent MySQL Shell releases are built with GNU Compiler Collection (GCC) 11 or later, while Debian 11 ships with GCC 10, making these binaries incompatible. - -## Additional resources - -* Install [Percona Server for MySQL 8.4] - -* The [Percona Server for MySQL GitHub repository :octicons-link-external-16:](https://github.com/percona/percona-server) - -* Download product binaries, packages, and tarballs at [Percona Software Downloads :octicons-link-external-16:](https://www.percona.com/downloads) - -* [Contribute to the documentation :octicons-link-external-16:](https://github.com/percona/psmysql-docs/blob/8.0/contributing.md) - -* For [training :octicons-link-external-16:](https://www.percona.com/training), contact [Percona Training - Start learning now :octicons-link-external-16:](https://learn.percona.com/contact-me) - -[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md - -[Percona Server for MySQL 8.4]: ../installation.md diff --git a/docs/templates/pdf_cover_page.tpl b/docs/templates/pdf_cover_page.tpl index f877e266458..e8dd3a46454 100644 --- a/docs/templates/pdf_cover_page.tpl +++ b/docs/templates/pdf_cover_page.tpl @@ -7,5 +7,5 @@ {% if config.site_description %}

{{ config.site_description }}

{% endif %} -

8.4.7-7 (December 22, 2025)

+

9.7.0-0 (, 2026)

diff --git a/docs/upgrade-checklist-8.4.md b/docs/upgrade-checklist-9.7.md similarity index 67% rename from docs/upgrade-checklist-8.4.md rename to docs/upgrade-checklist-9.7.md index dfb42912c9a..61fd16735d2 100644 --- a/docs/upgrade-checklist-8.4.md +++ b/docs/upgrade-checklist-9.7.md @@ -1,6 +1,6 @@ # Upgrade checklist for {{vers}} -Thorough preparation and validation reduce risk more than any cutover tactic. Use this checklist to guide your upgrade from 8.0 to {{vers}}, validating each item in staging before upgrading production. +Thorough preparation and validation reduce risk more than any cutover tactic. Use this checklist to guide your upgrade from 8.4 to {{vers}}, validating each item in staging before upgrading production. ## Pre-upgrade checks @@ -26,7 +26,7 @@ Complete these checks before starting the upgrade process. - [ ] Search and update scripts: `START REPLICA`, `SHOW REPLICA STATUS`, `CHANGE REPLICATION SOURCE TO`. - [ ] Validate Orchestrator/HA tooling versions for {{vers}} syntax. - [ ] Update Percona Toolkit calls: replace `pt-slave-find` with `pt-replica-find`, and `pt-slave-restart` with `pt-replica-restart`; remove `pt-slave-delay` usage. -- [ ] See: [Percona Toolkit updates for {{vers}}](./percona-toolkit-8.4-updates.md) +- [ ] See: [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) ### Removed features and variables @@ -38,7 +38,6 @@ Complete these checks before starting the upgrade process. - [ ] Migrate from `expire_logs_days` to `binlog_expire_logs_seconds`. - [ ] Replace `WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()` with `WAIT_FOR_EXECUTED_GTID_SET()`. - [ ] Remove dependencies on built-in memcached variables/APIs. -- [ ] See: [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) ### Reserved keywords in identifiers @@ -58,26 +57,6 @@ Complete these checks before starting the upgrade process. - [ ] Identify and convert any `FLOAT`/`DOUBLE` `AUTO_INCREMENT` columns to integer types prior to upgrade. -### Configuration defaults review - -**Impact**: {{vers}} changes several InnoDB defaults for modern hardware; old 8.0 configs may not be optimal and can cause behavior changes. - -**Action**: - -- [ ] Compare your overrides to {{vers}} defaults; remove obsolete settings and re-evaluate IO/log parameters. -- [ ] See: [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) - -### Spatial indexes - -**Impact**: A known issue can corrupt a spatial index (R-Tree index) in MySQL 8.4.0 through 8.4.3. The corruption is triggered when an `UPDATE` that slightly changes a geometry's MBR (Minimum Bounding Rectangle) is immediately followed by a `DELETE` of the same row. This issue is fixed in 8.4.4 and later. - -**Action**: - -- [ ] If upgrading to 8.4.0-8.4.3, drop spatial indexes before upgrade (document which ones for post-upgrade re-creation) as a precautionary measure. -- [ ] If upgrading to 8.4.4 or later, this issue is fixed; spatial indexes can remain in place. -- [ ] Plan to re-create any spatial indexes dropped pre-upgrade after upgrade completion. -- [ ] See: [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md#spatial-indexes) for detailed information and workarounds. - ### Backup and recovery rehearsal **Action**: @@ -90,29 +69,19 @@ Complete these checks before starting the upgrade process. **Action**: -- [ ] Use `pt-upgrade` to compare query plans/behavior between 8.0 and {{vers}}. +- [ ] Use `pt-upgrade` to compare query plans/behavior between 8.4 and {{vers}}. - [ ] Run application smoke and load tests against a restored {{vers}} copy. -### Plugins to components transitions - -**Impact**: Some 8.0 plugins are removed or replaced by components in {{vers}}. - -**Action**: - -- [ ] If a component exists in 8.0 (for example, data masking), transition in 8.0 before upgrading. -- [ ] Plan configuration changes from plugin variables/`--early-plugin-load` to component manifests/config files. -- [ ] See: [Upgrade from plugins to components](./upgrade-components.md) - ### Rollback feasibility **Action**: -- [ ] Define a rollback path (for example, keep 8.0 environment on standby or validate point-in-time recovery to 8.0-compatible readers if applicable). +- [ ] Define a rollback path (for example, keep 8.4 environment on standby or validate point-in-time recovery to 8.4-compatible readers if applicable). - [ ] Confirm cutover/rollback runbooks with approvers. ## Post-upgrade validation -Run these checks immediately after upgrading from 8.0 to {{vers}} and before widening traffic. +Run these checks immediately after upgrading from 8.4 to {{vers}} and before widening traffic. ### Connectivity and authentication @@ -133,7 +102,6 @@ Run these checks immediately after upgrading from 8.0 to {{vers}} and before wid - [ ] Re-run baseline queries and workload tests; compare latency and throughput. - [ ] Review changes in {{vers}} defaults that can affect performance (optimizer/costing, redo/undo, IO settings) and tune as needed. -- [ ] See: [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) ### Logs and observability @@ -153,8 +121,4 @@ Run these checks immediately after upgrading from 8.0 to {{vers}} and before wid * [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) * [Upgrade from plugins to components](./upgrade-components.md) * [Downgrade options](./downgrade.md) -* [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) -* [Compatibility and removed items in {{vers}}](./8.4-compatibility-and-removed-items.md) -* [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) -* [Percona Toolkit updates for {{vers}}](./percona-toolkit-8.4-updates.md) - +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) diff --git a/docs/upgrade-components.md b/docs/upgrade-components.md index 427dca6a01f..5901bbc85c0 100644 --- a/docs/upgrade-components.md +++ b/docs/upgrade-components.md @@ -4,6 +4,8 @@ Percona Server for MySQL {{vers}} introduces a shift from plugins to components for several key features, a change that requires a manual transition during the upgrade process. It is generally recommended to transition to the component version of a feature in the 8.0 series before performing the upgrade to {{vers}} if both a plugin and a component are available for that feature. + + The following plugins have changed: | Plugin | 8.0 information | {{vers}} changes | Notes | diff --git a/docs/upgrade-procedures.md b/docs/upgrade-procedures.md index 94c5a26d391..6bb259c9a78 100644 --- a/docs/upgrade-procedures.md +++ b/docs/upgrade-procedures.md @@ -6,7 +6,7 @@ This document provides step-by-step procedures for upgrading Percona Server for Before beginning the upgrade process: -1. Complete the [upgrade checklist](./upgrade-checklist-8.4.md) pre-upgrade checks. +1. Complete the [upgrade checklist](./upgrade-checklist-9.7.md) pre-upgrade checks. 2. Create a full backup (or dump if possible) of your database. 3. Back up your database configuration file (`my.cnf`) to a safe location, then modify it as needed (for example, remove deprecated variables, update settings for {{vers}}) before stopping the server. 4. Stop the server using the appropriate command for your system: @@ -298,18 +298,15 @@ Use this method when you cannot use repositories or need to install from manuall ## Post-upgrade validation -After completing the upgrade, follow the post-upgrade validation steps in the [upgrade checklist](./upgrade-checklist-8.4.md#post-upgrade-validation). +After completing the upgrade, follow the post-upgrade validation steps in the [upgrade checklist](./upgrade-checklist-9.7.md#post-upgrade-validation). ## Further reading * [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.md) +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) * [Upgrade strategies](./upgrade-strategies.md) * [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) * [Upgrade from plugins to components](./upgrade-components.md) * [Downgrade options](./downgrade.md) -* [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) -* [Compatibility and removed items in {{vers}}](./8.4-compatibility-and-removed-items.md) -* [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) -* [Percona Toolkit updates for {{vers}}](./percona-toolkit-8.4-updates.md) +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) diff --git a/docs/upgrade-strategies.md b/docs/upgrade-strategies.md index 3d36849d716..7aa55089feb 100644 --- a/docs/upgrade-strategies.md +++ b/docs/upgrade-strategies.md @@ -96,12 +96,9 @@ Rollback: if issues arise before fail-forward, redirect traffic back to 8.0 and ## Further reading * [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.md) +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) * [Upgrade procedures for {{vers}}](./upgrade-procedures.md) * [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) * [Upgrade from plugins to components](./upgrade-components.md) * [Downgrade options](./downgrade.md) -* [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) -* [Compatibility and removed items in {{vers}}](./8.4-compatibility-and-removed-items.md) -* [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) -* [Percona Toolkit updates for {{vers}}](./percona-toolkit-8.4-updates.md) +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) diff --git a/docs/upgrade.md b/docs/upgrade.md index 2106d4bf342..910e679623a 100644 --- a/docs/upgrade.md +++ b/docs/upgrade.md @@ -4,6 +4,8 @@ [Need expert guidance for your upgrade? Percona Support is ready to assist you every step of the way :octicons-link-external-16:](https://www.percona.com/services/support). + + ## Why upgrade to Percona Server for MySQL {{vers}} LTS Long‑Term Support (LTS) releases focus on stability, predictable security patches, and a clearly defined maintenance horizon—essential qualities for production databases. Moving from 8.0 to 8.4 isn’t just a simple version bump: new defaults, deprecated options, and behavior changes can affect performance and break existing scripts. Treat the upgrade as a small project: plan the steps, pick the method that matches your downtime window, and verify the result. diff --git a/docs/write-filter-definitions.md b/docs/write-filter-definitions.md index a85cffafda1..f369f3b590b 100644 --- a/docs/write-filter-definitions.md +++ b/docs/write-filter-definitions.md @@ -353,7 +353,7 @@ Performance impact is a critical consideration when implementing detailed loggin ## Implement the filter -Here's how to define and implement an audit log filter in Percona Server for MySQL 8.4.6: +Here's how to define and implement an audit log filter in Percona Server for MySQL {{vers}}: ### Create a filter diff --git a/docs/yum-download-rpm.md b/docs/yum-download-rpm.md index 0a70d475d54..817160900ea 100644 --- a/docs/yum-download-rpm.md +++ b/docs/yum-download-rpm.md @@ -4,6 +4,9 @@ Download the packages from [Percona Product Downloads :octicons-link-external-16 The RPM builds for *RHEL* 8 and *RHEL* 9 contain ARM packages with the aarch64.rpm extension. This means that Percona Server for MySQL is available for users on ARM-based systems. + + + The following example downloads *Percona Server for MySQL* {{release}} release `x86_64` packages for *RHEL* 8. {.power-number} diff --git a/docs/yum-repo.md b/docs/yum-repo.md index b086d6c2531..df887eb1693 100644 --- a/docs/yum-repo.md +++ b/docs/yum-repo.md @@ -1,5 +1,7 @@ # Install using DNF + + !!! important "Installation Method" This guide describes **standard OS installation** on RPM-based operating systems (RHEL, CentOS, Rocky Linux, etc.) using DNF. Ready-to-use packages are available from the Percona Server for MySQL software repositories and the [Percona downloads] page. On RHEL 8+ systems, DNF has superseded YUM, but `yum` commands continue to work as they are aliased to `dnf`. @@ -38,14 +40,6 @@ RHEL 8+ and other EL8+ systems enable the MySQL module by default. This module h !!! important "Checking the MySQL Module" RHEL 8+ systems enable the MySQL module by default, which can hide or conflict with Percona's packages. The first installation step below shows you how to check if the module is enabled. If you see an **[e]** marker, you must disable the module before proceeding. If you only see **[d]** (default), you can proceed. - - ## Install using DNF (RHEL 8+) !!! note "Standard OS Installation" diff --git a/mkdocs-base.yml b/mkdocs-base.yml index 2a028bafead..b07f1f039ad 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -2,10 +2,10 @@ site_name: Percona Server for MySQL site_description: Documentation site_author: Percona LLC copyright: >- -
Percona LLC and its affiliates © 2025 — Cookie Preferences + Percona LLC and its affiliates © 2026 — Cookie Preferences repo_name: percona/psmysql-docs repo_url: https://github.com/percona/psmysql-docs -edit_uri: edit/8.4/docs/ +edit_uri: edit/9.7/docs/ use_directory_urls: false @@ -124,7 +124,7 @@ plugins: git-committers: enabled: !ENV [CI, false] repository: percona/psmysql-docs - branch: "8.4" + branch: "9.7" meta-descriptions: export_csv: false quiet: false @@ -176,14 +176,6 @@ nav: - ps-or-pdps.md - Release notes: - Release notes index: release-notes/release-notes-index.md - - release-notes/8.4.7-7.md - - release-notes/8.4.6-6.md - - release-notes/8.4.5-5.md - - release-notes/8.4.4-4.md - - release-notes/8.4.3-3.md - - release-notes/8.4.2-2.md - - release-notes/8.4.1.md - - release-notes/8.4.0-1.md - Features: - adaptive-network-buffers.md - Audit Log Filter: @@ -269,11 +261,8 @@ nav: - Upgrade: - upgrade.md - Understand what's changing: - - 8.4-breaking-changes.md - - 8.4-compatibility-and-removed-items.md - - 8.4-defaults-and-tuning.md - - percona-toolkit-8.4-updates.md - - upgrade-checklist-8.4.md + - percona-toolkit-9.7-updates.md + - upgrade-checklist-9.7.md - upgrade-strategies.md - mysql-upgrade-paths.md - upgrade-procedures.md diff --git a/mkdocs-percona.yml b/mkdocs-percona.yml index b8d9b8bdc95..4dde0cc1267 100644 --- a/mkdocs-percona.yml +++ b/mkdocs-percona.yml @@ -2,7 +2,7 @@ INHERIT: mkdocs-base.yml -site_url: "https://docs.percona.com/percona-server/innovation-release/index.html" +site_url: "https://docs.percona.com/percona-server/9.7/" plugins: bootstrap-tables: {} diff --git a/variables.yml b/variables.yml index c5073c586f4..72c2b462641 100644 --- a/variables.yml +++ b/variables.yml @@ -1,11 +1,11 @@ # variables for HTML output -release: '8.4.7-7' -version: '8.4' -vers: '8.4' # we are going to use it instead of version -pkg: 'ps-84-lts' -tag: '8.4.7' # used in quickstart documents -arm_tag: '8.4.7-aarch64' # used in quickstart documents -year_tag: '2025' # used in quickstart documents -release_date: '2025-12-22' -title_date: '2025-12-22' +release: '9.7.0-0' +version: '9.7' +vers: '9.7' # we are going to use it instead of version +pkg: 'ps-97-lts' +tag: '9.7.0' # used in quickstart documents +arm_tag: '9.7.0-aarch64' # used in quickstart documents +year_tag: '2026' # used in quickstart documents +release_date: '2026-0-' +title_date: '2026-0-'