diff --git a/docs/_static/ce-flowchart.png b/docs/_static/ce-flowchart.png new file mode 100644 index 00000000000..12c7c3cdde6 Binary files /dev/null and b/docs/_static/ce-flowchart.png differ diff --git a/docs/downgrade.md b/docs/downgrade.md index 5abc9aa4000..ed990ddda91 100644 --- a/docs/downgrade.md +++ b/docs/downgrade.md @@ -1,62 +1,83 @@ # Downgrade Percona Server for MySQL +**Topic type**: Concept + --8<--- "get-help-snip.md" - +[Need help planning a downgrade? Percona Support can assist :octicons-link-external-16:](https://www.percona.com/services/support). + +## Before you downgrade + +Review the following prerequisites before starting a downgrade: + +* Understand the Percona Server for MySQL release model. Percona ships Long-Term Support (LTS) releases and bug-fix releases within each LTS series. + +* Treat hot fixes as separate releases when you plan a downgrade. -Downgrading to a 5.7 or earlier series is not supported. +* For a replication topology, perform a rolling downgrade. Apply a single-server method to each server in turn. -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: +* Take a verified backup before any downgrade attempt. -* Performing an in-place upgrade +* Do not attempt to downgrade below 8.4. Earlier paths are not supported. -* Creating a logical dump and loading it +For the underlying MySQL guidance, see [Downgrading MySQL :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/downgrading.html). -* Use MySQL Clone functionality +## Identify a supported downgrade path -* Set up replication between the versions +The following table summarizes supported downgrade paths from {{vers}} LTS. -Between one LTS or Bugfix series to the previous LTS or Bugfix series, such as moving from 8.4.x LTS to 8.0.y, you have two primary options: +| Downgrade path | Example | Supported methods | Notes | +|---|---|---|---| +| Within the same LTS series | {{vers}}.y LTS to {{vers}}.x LTS | In-place, logical dump and load, MySQL Clone, or replication | Same-LTS downgrades have the most flexibility. | +| To the previous LTS series | {{vers}}.x LTS to 8.4.y | Logical dump and load, or replication | Use this path as a rollback only. The data must contain no features from the upgraded version. | -* Create a logical dump of your data and load it into the older version +!!! important "Rollback constraint" -* Set up replication between the versions. + Cross-series paths fit a rollback scenario only. If you have run any feature unique to {{vers}} against the data, do not use a cross-series downgrade. Restore from a pre-upgrade backup instead. -!!! important "Important" - This downgrade path is only supported when no new server functionality has been applied to your data. +## Choose a downgrade method -Between an LTS or Bugfix series to an earlier Innovation series (after the previous LTS release), such as from 8.4.x LTS to 8.3.0 Innovation, you have the following options: +The following methods support the paths in [Identify a supported downgrade path](#identify-a-supported-downgrade-path): -* Create a logical dump of your data and load it into the older version +* In-place: stop the server, replace binaries, and restart with the existing data directory. Available within the same LTS series only. -* Set up replication between the versions. +* Logical dump and load: export the data with `mysqldump` and load the dump into the older version. -!!! important "Important" - This downgrade path is only supported when no new server functionality has been applied to your data. +* MySQL Clone: clone data between servers within the same LTS series. -We don't support downgrades with any 8.0.x release below 8.0.34. -Releases in the range above 8.0.34 can be downgraded to any release within that range, including 8.0.34. +* Replication: configure replication from {{vers}} to the older version, validate the replica, and cut traffic over. -## Downgrading risks +For cutover and validation guidance during a downgrade, see [Upgrade strategies](./upgrade-strategies.md). -Downgrading has the following risks: +## Assess downgrade risks + +!!! warning "Data loss risk" + + A failed downgrade can corrupt or destroy data. Create and verify a backup before any downgrade attempt. Restore the backup if the downgrade encounters issues. + +The following table lists the risks of downgrading. | Risk | Description | |---|---| -| Data loss | If the downgrade process has issues, you may lose your data. It is crucial that you back up your data before attempting to downgrade. | -| Incompatibility | If you use any feature or improvement in the latest version, downgrading could result in incompatibility issues. | -| Performance | Downgrading may result in a loss of performance | -| Security | Newer versions have security updates that are not available in the older versions, which could lead to exposure. | +| Data loss | Data loss is possible if the downgrade encounters issues. Create a backup of your data before attempting a downgrade. | +| Incompatibility | Features used in the upgraded version can cause incompatibility. | +| Performance | Downgrading can reduce performance. | +| Security | Older versions lack security updates available in upgraded versions, which can increase exposure. | ## Further reading +The following Percona Server for MySQL pages cover related topics: + +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) + +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) + +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) + +* [Upgrade from plugins to components](./upgrade-components.md) + * [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.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) -* [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) diff --git a/docs/index-keywords.md b/docs/index-keywords.md index 15eb900a1a1..585a81826cf 100644 --- a/docs/index-keywords.md +++ b/docs/index-keywords.md @@ -1,10 +1,10 @@ -# Documentation Index by Alphabet +# Alphabetical documentation index - +The following sections list documentation pages and keyword references for each letter. ## A -**Files:** +### Files * [Adaptive network buffers](adaptive-network-buffers.md) * [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md) @@ -25,62 +25,80 @@ * [Audit log plugin](audit-log-plugin.md) * [Authentication methods](authentication-methods.md) -**Keywords:** +### Keywords -* **audit** — [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file format overview](audit-log-filter-formats.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit Log Filter security](audit-log-filter-security.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Configure AppArmor](configure-apparmor.md), [Disable Audit Log Filter logging](disable-audit-log-filter.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Install the audit log filter](install-audit-log-filter.md), [Manage the Audit Log Filter files](manage-audit-log-filter.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Reading Audit Log Filter files](reading-audit-log-filter-files.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Triggers](triggers.md), [Uninstall Audit Log Filter](uninstall-audit-log-filter.md), [Upgrade from plugins to components](upgrade-components.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **authentication** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Authentication methods](authentication-methods.md), [Build APT packages](build-apt-packages.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Index](index-contents.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md), [Post-installation](post-installation.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md) -* **authorization** — [Trademark policy](trademark-policy.md) +audit +: [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file format overview](audit-log-filter-formats.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit Log Filter security](audit-log-filter-security.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Configure AppArmor](configure-apparmor.md), [Disable Audit Log Filter logging](disable-audit-log-filter.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Install the audit log filter](install-audit-log-filter.md), [Manage the Audit Log Filter files](manage-audit-log-filter.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Reading Audit Log Filter files](reading-audit-log-filter-files.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Triggers](triggers.md), [Uninstall Audit Log Filter](uninstall-audit-log-filter.md), [Upgrade from plugins to components](upgrade-components.md), [Write audit_log_filter definitons](write-filter-definitions.md) + +authentication +: [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Authentication methods](authentication-methods.md), [Build APT packages](build-apt-packages.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Index](index-contents.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md), [Post-installation](post-installation.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md) + +authorization +: [Trademark policy](trademark-policy.md) ## B -**Files:** +### Files * [Backup and restore overview](backup-restore-overview.md) * [Backup locks](backup-locks.md) * [Binary logs and replication improvements](binlogging-replication-improvements.md) * [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md) -* [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md) * [Build APT packages](build-apt-packages.md) -**Keywords:** +### Keywords + +backup +: [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Introduction to Databases and SQL](database.md), [DELETE statement](delete.md), [Use Docker Compose and named volumes](docker-compose.md), [Extended mysqldump](extended-mysqldump.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Group replication system variables](group-replication-system-variables.md), [Index](index-contents.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [Uninstall Percona Server for MySQL](yum-uninstall.md) + +binary +: [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md), [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md), [Managing binary log disk space](binlog-space.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Build APT packages](build-apt-packages.md), [MySQL Clone plugin](clone-plugin.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Index](index-contents.md), [Install Percona Server for MySQL](installation.md), [js_lang type conversions](js-lang-type-conversions.md), [JSON in Percona Server for MySQL](json-overview.md), [Suppress warning messages](log-warnings-suppress.md), [Data loading](myrocks-data-loading.md), [MyRocks server variables](myrocks-server-variables.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Post-installation](post-installation.md), [Files in packages built for Percona Server for MySQL Pro](pro-files.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log rotation and expiration](slowlog-rotation.md), [SQL operators](sql-operators.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Thread pool](threadpool.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [User statistics](user-stats.md), [UUID_VX component](uuid-versions.md) + +binlog +: [Binary logs and replication improvements](binlogging-replication-improvements.md), [Index](index-contents.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md) -* **backup** — [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Introduction to Databases and SQL](database.md), [DELETE statement](delete.md), [Use Docker Compose and named volumes](docker-compose.md), [Extended mysqldump](extended-mysqldump.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Group replication system variables](group-replication-system-variables.md), [Index](index-contents.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [Uninstall Percona Server for MySQL](yum-uninstall.md) -* **binary** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md), [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md), [Managing binary log disk space](binlog-space.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Build APT packages](build-apt-packages.md), [MySQL Clone plugin](clone-plugin.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Index](index-contents.md), [Install Percona Server for MySQL](installation.md), [js_lang type conversions](js-lang-type-conversions.md), [JSON in Percona Server for MySQL](json-overview.md), [Suppress warning messages](log-warnings-suppress.md), [Data loading](myrocks-data-loading.md), [MyRocks server variables](myrocks-server-variables.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Post-installation](post-installation.md), [Files in packages built for Percona Server for MySQL Pro](pro-files.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log rotation and expiration](slowlog-rotation.md), [SQL operators](sql-operators.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Thread pool](threadpool.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [User statistics](user-stats.md), [UUID_VX component](uuid-versions.md) -* **binlog** — [Binary logs and replication improvements](binlogging-replication-improvements.md), [Index](index-contents.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md) -* **buffer** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Adaptive network buffers](adaptive-network-buffers.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Extended show engine InnoDB status](innodb-show-status.md), [js_lang type conversions](js-lang-type-conversions.md), [Kill idle transaction](kill-idle-trx.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Limit the estimation of records in a Query](query-limit-records.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Slow query log](slow-extended.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) +buffer +: [Adaptive network buffers](adaptive-network-buffers.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Extended show engine InnoDB status](innodb-show-status.md), [js_lang type conversions](js-lang-type-conversions.md), [Kill idle transaction](kill-idle-trx.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Limit the estimation of records in a Query](query-limit-records.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Slow query log](slow-extended.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) ## C -**Files:** +### Files * [Common data types](data-types-basic.md) * [Common SQL commands](common-sql.md) * [Common SQL errors](sql-errors.md) -* [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md) * [Compile Percona Server for MySQL from source](compile-percona-server.md) * [Compressed columns with dictionaries](compressed-columns.md) * [Configure AppArmor](configure-apparmor.md) * [Copyright and licensing information](copyright-and-licensing-information.md) * [Create a table](create-table.md) -**Keywords:** +### Keywords + +cache +: [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Backup locks](backup-locks.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Extended show engine InnoDB status](innodb-show-status.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Trigger updates](trigger-updates.md) + +cluster +: [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Manage group replication flow control](group-replication-flow-control.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Next steps](quickstart-next-steps.md), [Install using DNF](yum-repo.md) + +column +: [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Compressed columns with dictionaries](compressed-columns.md), [Create a table](create-table.md), [Common data types](data-types-basic.md), [Extended mysqldump](extended-mysqldump.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [JSON in Percona Server for MySQL](json-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [MyRocks column families](myrocks-column-families.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Process list](process-list.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SELECT statement](select.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Slow query log](slow-extended.md), [Common SQL errors](sql-errors.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Troubleshoot SQL code](troubleshooting-sql.md), [UPDATE statement](update.md), [User statistics](user-stats.md), [Write audit_log_filter definitons](write-filter-definitions.md) + +compression +: [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Compressed columns with dictionaries](compressed-columns.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Index](index-contents.md), [MyRocks column families](myrocks-column-families.md) -* **cache** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Backup locks](backup-locks.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Extended show engine InnoDB status](innodb-show-status.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Trigger updates](trigger-updates.md) -* **cluster** — [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Manage group replication flow control](group-replication-flow-control.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Next steps](quickstart-next-steps.md), [Install using DNF](yum-repo.md) -* **column** — [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Compressed columns with dictionaries](compressed-columns.md), [Create a table](create-table.md), [Common data types](data-types-basic.md), [Extended mysqldump](extended-mysqldump.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [JSON in Percona Server for MySQL](json-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [MyRocks column families](myrocks-column-families.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Process list](process-list.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SELECT statement](select.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Slow query log](slow-extended.md), [Common SQL errors](sql-errors.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Troubleshoot SQL code](troubleshooting-sql.md), [UPDATE statement](update.md), [User statistics](user-stats.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **compression** — [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Compressed columns with dictionaries](compressed-columns.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Index](index-contents.md), [MyRocks column families](myrocks-column-families.md) -* **connection** — [Adaptive network buffers](adaptive-network-buffers.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit log plugin](audit-log-plugin.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encryption functions](encryption-functions.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [Kill idle transaction](kill-idle-trx.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Too many connections warning](log-connection-error.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Process list](process-list.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Slow query log](slow-extended.md), [Thread pool](threadpool.md), [Trigger updates](trigger-updates.md), [Use the keyring vault component](use-keyring-vault-component.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) +connection +: [Adaptive network buffers](adaptive-network-buffers.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit log plugin](audit-log-plugin.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encryption functions](encryption-functions.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [Kill idle transaction](kill-idle-trx.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Too many connections warning](log-connection-error.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Process list](process-list.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Slow query log](slow-extended.md), [Thread pool](threadpool.md), [Trigger updates](trigger-updates.md), [Use the keyring vault component](use-keyring-vault-component.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) ## D -**Files:** +### Files * [Data at Rest Encryption](data-at-rest-encryption.md) * [Data loading](myrocks-data-loading.md) * [Data masking component functions and variables](data-masking-function-list.md) * [Data masking overview](data-masking-overview.md) * [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md) -* [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md) * [DELETE statement](delete.md) * [Development of Percona Server for MySQL](development.md) * [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md) @@ -89,14 +107,17 @@ * [Docker environment variables](docker-config.md) * [Downgrade Percona Server for MySQL](downgrade.md) -**Keywords:** +### Keywords -* **DDL** — [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Common SQL commands](common-sql.md), [Compressed columns with dictionaries](compressed-columns.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [Common SQL errors](sql-errors.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **DML** — [Common SQL commands](common-sql.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Trigger updates](trigger-updates.md), [Write audit_log_filter definitons](write-filter-definitions.md) +DDL +: [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Common SQL commands](common-sql.md), [Compressed columns with dictionaries](compressed-columns.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [Common SQL errors](sql-errors.md), [Write audit_log_filter definitons](write-filter-definitions.md) + +DML +: [Common SQL commands](common-sql.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Trigger updates](trigger-updates.md), [Write audit_log_filter definitons](write-filter-definitions.md) ## E -**Files:** +### Files * [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md) * [Encrypt doublewrite file pages](encrypt-doublewrite-file-pages.md) @@ -113,16 +134,23 @@ * [Extended SET VAR optimizer hint](extended-set-var.md) * [Extended show engine InnoDB status](innodb-show-status.md) -**Keywords:** +### Keywords + +encryption +: [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md), [Log encryption](encrypt-logs.md), [Encrypt system tablespace](encrypt-system-tablespace.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIPS compliance](fips.md), [Index](index-contents.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Rotate the master encryption key](rotate-master-key.md), [Use the keyring vault component](use-keyring-vault-component.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md) + +engine +: [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit Log Filter overview](audit-log-filter-overview.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Enforcing storage engine](enforce-engine.md), [Extended mysqldump](extended-mysqldump.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Show storage engines](show-engines.md), [SQL syntax](sql-syntax.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Use the keyring vault component](use-keyring-vault-component.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) -* **encryption** — [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md), [Log encryption](encrypt-logs.md), [Encrypt system tablespace](encrypt-system-tablespace.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIPS compliance](fips.md), [Index](index-contents.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Rotate the master encryption key](rotate-master-key.md), [Use the keyring vault component](use-keyring-vault-component.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md) -* **engine** — [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit Log Filter overview](audit-log-filter-overview.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Enforcing storage engine](enforce-engine.md), [Extended mysqldump](extended-mysqldump.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Show storage engines](show-engines.md), [SQL syntax](sql-syntax.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Use the keyring vault component](use-keyring-vault-component.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) -* **error** — [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Data masking component functions and variables](data-masking-function-list.md), [Common data types](data-types-basic.md), [Disable AppArmor](disable-apparmor.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Enforcing storage engine](enforce-engine.md), [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md), [Frequently asked questions](faq.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [FIPS compliance](fips.md), [Functions](functions.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Install the audit log filter](install-audit-log-filter.md), [INSTALL COMPONENT](install-component.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [js_lang type conversions](js-lang-type-conversions.md), [js_lang component system variables](js-lang-variables.md), [Kill idle transaction](kill-idle-trx.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Suppress warning messages](log-warnings-suppress.md), [Data loading](myrocks-data-loading.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [PAM authentication plugin](pam-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Next steps](quickstart-next-steps.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SQL conventions](sql-conventions.md), [Common SQL errors](sql-errors.md), [SQL syntax](sql-syntax.md), [Error handling in stored procedures](stored-procedure-error-handling.md), [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md), [Stored Procedures](stored-procedures.md), [Triggers](triggers.md), [Troubleshoot SQL code](troubleshooting-sql.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [UNINSTALL COMPONENT](uninstall-component.md), [Uninstall the js_lang component](uninstall-js-lang.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Use the keyring vault component](use-keyring-vault-component.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) -* **event** — [Audit Log Filter file format overview](audit-log-filter-formats.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Configure AppArmor](configure-apparmor.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Process list](process-list.md), [Reading Audit Log Filter files](reading-audit-log-filter-files.md), [Slow query log](slow-extended.md), [Trademark policy](trademark-policy.md), [Transaction management](transaction-mgmt.md), [Write audit_log_filter definitons](write-filter-definitions.md) +error +: [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Data masking component functions and variables](data-masking-function-list.md), [Common data types](data-types-basic.md), [Disable AppArmor](disable-apparmor.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Enforcing storage engine](enforce-engine.md), [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md), [Frequently asked questions](faq.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [FIPS compliance](fips.md), [Functions](functions.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Install the audit log filter](install-audit-log-filter.md), [INSTALL COMPONENT](install-component.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [js_lang type conversions](js-lang-type-conversions.md), [js_lang component system variables](js-lang-variables.md), [Kill idle transaction](kill-idle-trx.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Suppress warning messages](log-warnings-suppress.md), [Data loading](myrocks-data-loading.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [PAM authentication plugin](pam-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Next steps](quickstart-next-steps.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SQL conventions](sql-conventions.md), [Common SQL errors](sql-errors.md), [SQL syntax](sql-syntax.md), [Error handling in stored procedures](stored-procedure-error-handling.md), [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md), [Stored Procedures](stored-procedures.md), [Triggers](triggers.md), [Troubleshoot SQL code](troubleshooting-sql.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [UNINSTALL COMPONENT](uninstall-component.md), [Uninstall the js_lang component](uninstall-js-lang.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Use the keyring vault component](use-keyring-vault-component.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) + +event +: [Audit Log Filter file format overview](audit-log-filter-formats.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Configure AppArmor](configure-apparmor.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Process list](process-list.md), [Reading Audit Log Filter files](reading-audit-log-filter-files.md), [Slow query log](slow-extended.md), [Trademark policy](trademark-policy.md), [Transaction management](transaction-mgmt.md), [Write audit_log_filter definitons](write-filter-definitions.md) ## F -**Files:** +### Files * [FIDO authentication plugin](fido-authentication-plugin.md) * [Files in packages built for Percona Server for MySQL Pro](pro-files.md) @@ -133,27 +161,28 @@ ## G -**Files:** +### Files * [Gap locks detection](myrocks-gap-locks-detection.md) * [Get help from Percona](get-help.md) * [Glossary](glossary.md) * [Group replication system variables](group-replication-system-variables.md) -**Keywords:** +### Keywords -* **GTID** — [Binary logs and replication improvements](binlogging-replication-improvements.md), [Percona Server for MySQL feature comparison](feature-comparison.md) +GTID +: [Binary logs and replication improvements](binlogging-replication-improvements.md), [Percona Server for MySQL feature comparison](feature-comparison.md) ## H -**Files:** +### Files * [Handle corrupted tables](innodb-corrupt-table-action.md) * [How we use artificial intelligence](ai-docs.md) ## I -**Files:** +### Files * [Improved InnoDB I/O scalability](innodb-io.md) * [Improved MEMORY storage engine](improved-memory-engine.md) @@ -178,14 +207,17 @@ * [Introduction to Databases and SQL](database.md) * [Isolation levels](isolation-levels.md) -**Keywords:** +### Keywords + +index +: [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [Install Percona Server for MySQL](installation.md), [JSON in Percona Server for MySQL](json-overview.md), [Updated supported features](myrocks-added-features.md), [MyRocks column families](myrocks-column-families.md), [Data loading](myrocks-data-loading.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Next steps](quickstart-next-steps.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Use the keyring vault component](use-keyring-vault-component.md), [User statistics](user-stats.md), [UUID_VX component](uuid-versions.md) -* **index** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [Install Percona Server for MySQL](installation.md), [JSON in Percona Server for MySQL](json-overview.md), [Updated supported features](myrocks-added-features.md), [MyRocks column families](myrocks-column-families.md), [Data loading](myrocks-data-loading.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Next steps](quickstart-next-steps.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Use the keyring vault component](use-keyring-vault-component.md), [User statistics](user-stats.md), [UUID_VX component](uuid-versions.md) -* **InnoDB** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [Backup locks](backup-locks.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Encrypt doublewrite file pages](encrypt-doublewrite-file-pages.md), [Log encryption](encrypt-logs.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Enforcing storage engine](enforce-engine.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [Kill idle transaction](kill-idle-trx.md), [Suppress warning messages](log-warnings-suppress.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Limit the estimation of records in a Query](query-limit-records.md), [Next steps](quickstart-next-steps.md), [Rotate the master encryption key](rotate-master-key.md), [Slow query log](slow-extended.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade strategies](upgrade-strategies.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) +InnoDB +: [Multiple page asynchronous I/O requests](aio-page-requests.md), [Backup locks](backup-locks.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Encrypt doublewrite file pages](encrypt-doublewrite-file-pages.md), [Log encryption](encrypt-logs.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Enforcing storage engine](enforce-engine.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [Kill idle transaction](kill-idle-trx.md), [Suppress warning messages](log-warnings-suppress.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Limit the estimation of records in a Query](query-limit-records.md), [Next steps](quickstart-next-steps.md), [Rotate the master encryption key](rotate-master-key.md), [Slow query log](slow-extended.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade strategies](upgrade-strategies.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) ## J -**Files:** +### Files * [Jemalloc memory allocation profiling](jemalloc-profiling.md) * [js_lang component system variables](js-lang-variables.md) @@ -196,35 +228,41 @@ * [js_lang type conversions](js-lang-type-conversions.md) * [JSON in Percona Server for MySQL](json-overview.md) -**Keywords:** +### Keywords -* **join** — [Slow query log](slow-extended.md) +join +: [Slow query log](slow-extended.md) ## K -**Files:** +### Files * [Keyring components overview](keyring-components-plugins-overview.md) * [Kill idle transaction](kill-idle-trx.md) ## L -**Files:** +### Files * [LDAP authentication plugin system variables](ldap-system-variables.md) * [Limit the estimation of records in a Query](query-limit-records.md) * [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md) * [Log encryption](encrypt-logs.md) -**Keywords:** +### Keywords -* **lock** — [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Backup locks](backup-locks.md), [Extended mysqldump](extended-mysqldump.md), [Extended show engine InnoDB status](innodb-show-status.md), [Modify a table](modify-tables.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Stored Procedures](stored-procedures.md), [Thread pool](threadpool.md) -* **log** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file format overview](audit-log-filter-formats.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit Log Filter security](audit-log-filter-security.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Managing binary log disk space](binlog-space.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [MySQL Clone plugin](clone-plugin.md), [Configure AppArmor](configure-apparmor.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking overview](data-masking-overview.md), [Disable Audit Log Filter logging](disable-audit-log-filter.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Log encryption](encrypt-logs.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [FIPS compliance](fips.md), [Glossary](glossary.md), [Manage group replication flow control](group-replication-flow-control.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Install the audit log filter](install-audit-log-filter.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Kill idle transaction](kill-idle-trx.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Suppress warning messages](log-warnings-suppress.md), [Managing AppArmor profiles](manage-apparmor-profiles.md), [Manage the Audit Log Filter files](manage-audit-log-filter.md), [MyRocks column families](myrocks-column-families.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Reading Audit Log Filter files](reading-audit-log-filter-files.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Troubleshoot AppArmor profiles](troubleshoot-apparmor.md), [Troubleshoot SELinux issues](troubleshoot-selinux.md), [Uninstall Audit Log Filter](uninstall-audit-log-filter.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from plugins to components](upgrade-components.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **LSN** — [Glossary](glossary.md), [Extended show engine InnoDB status](innodb-show-status.md) +lock +: [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Backup locks](backup-locks.md), [Extended mysqldump](extended-mysqldump.md), [Extended show engine InnoDB status](innodb-show-status.md), [Modify a table](modify-tables.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Stored Procedures](stored-procedures.md), [Thread pool](threadpool.md) + +log +: [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter file format overview](audit-log-filter-formats.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit Log Filter security](audit-log-filter-security.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Managing binary log disk space](binlog-space.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [MySQL Clone plugin](clone-plugin.md), [Configure AppArmor](configure-apparmor.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking overview](data-masking-overview.md), [Disable Audit Log Filter logging](disable-audit-log-filter.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Log encryption](encrypt-logs.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [FIPS compliance](fips.md), [Glossary](glossary.md), [Manage group replication flow control](group-replication-flow-control.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Install the audit log filter](install-audit-log-filter.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Kill idle transaction](kill-idle-trx.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Suppress warning messages](log-warnings-suppress.md), [Managing AppArmor profiles](manage-apparmor-profiles.md), [Manage the Audit Log Filter files](manage-audit-log-filter.md), [MyRocks column families](myrocks-column-families.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Reading Audit Log Filter files](reading-audit-log-filter-files.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Troubleshoot AppArmor profiles](troubleshoot-apparmor.md), [Troubleshoot SELinux issues](troubleshoot-selinux.md), [Uninstall Audit Log Filter](uninstall-audit-log-filter.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from plugins to components](upgrade-components.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [Write audit_log_filter definitons](write-filter-definitions.md) + +LSN +: [Glossary](glossary.md), [Extended show engine InnoDB status](innodb-show-status.md) ## M -**Files:** +### Files * [Manage group replication flow control](group-replication-flow-control.md) * [Manage SELinux modes](manage-selinux-modes.md) @@ -241,26 +279,29 @@ * [MySQL Clone plugin](clone-plugin.md) * [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md) -**Keywords:** +### Keywords -* **monitoring** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Use Percona Monitoring and Management (PMM) Advisors](advisors.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit log plugin](audit-log-plugin.md), [Manage group replication flow control](group-replication-flow-control.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Kill idle transaction](kill-idle-trx.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Next steps](quickstart-next-steps.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Thread pool](threadpool.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) -* **mysql** — [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), [Adaptive network buffers](adaptive-network-buffers.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [AppArmor profile modes](apparmor-profiles.md), [Secure Percona Server for MySQL with AppArmor](apparmor.md), [Install Percona Server for MySQL {{vers}} using downloaded DEB packages](apt-download-deb.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Apt pinning the Percona Server for MySQL {{vers}} packages](apt-pinning.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md), [Uninstall Percona Server for MySQL {{vers}} using the APT package manager](apt-uninstall-server.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md), [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Build APT packages](build-apt-packages.md), [MySQL Clone plugin](clone-plugin.md), [Common SQL commands](common-sql.md), [Compile Percona Server for MySQL from source](compile-percona-server.md), [Compressed columns with dictionaries](compressed-columns.md), [Configure AppArmor](configure-apparmor.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Development of Percona Server for MySQL](development.md), [Disable AppArmor](disable-apparmor.md), [Use Docker Compose and named volumes](docker-compose.md), [Docker environment variables](docker-config.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Downgrade Percona Server for MySQL](downgrade.md), [Percona Software Download instructions](download-instructions.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Enforcing storage engine](enforce-engine.md), [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [FIPS compliance](fips.md), [Functions](functions.md), [Get help from Percona](get-help.md), [Glossary](glossary.md), [Manage group replication flow control](group-replication-flow-control.md), [Group replication system variables](group-replication-system-variables.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Install the audit log filter](install-audit-log-filter.md), [Percona MyRocks installation guide](install-myrocks.md), [Install Percona Server for MySQL](installation.md), [Isolation levels](isolation-levels.md), [Jemalloc memory allocation profiling](jemalloc-profiling.md), [js_lang stored procedure and function overview](js-lang-overview.md), [js_lang component system variables](js-lang-variables.md), [JSON in Percona Server for MySQL](json-overview.md), [Kill idle transaction](kill-idle-trx.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Suppress warning messages](log-warnings-suppress.md), [Managing AppArmor profiles](manage-apparmor-profiles.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [MyRocks column families](myrocks-column-families.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md), [PAM authentication plugin](pam-plugin.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Percona Server for MySQL {{vers}} variables](percona-server-system-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Files in packages built for Percona Server for MySQL Pro](pro-files.md), [Process list](process-list.md), [The ProcFS plugin](procfs-plugin.md), [Support for PROXY protocol](proxy-protocol-support.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Overview](quickstart-overview.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [SELECT statement](select.md), [SELinux contexts and labels](selinux-contexts.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Understand version numbers](server-version-numbers.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Install Percona Server for MySQL from a source tarball](source-tarball.md), [SQL conventions](sql-conventions.md), [SQL operators](sql-operators.md), [SQL syntax](sql-syntax.md), [SSL improvements](ssl-improvement.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md), [Telemetry on Percona Server for MySQL](telemetry.md), [Thread based profiling](thread-based-profiling.md), [Thread pool](threadpool.md), [Trademark policy](trademark-policy.md), [Transaction management](transaction-mgmt.md), [Trigger updates](trigger-updates.md), [Troubleshoot SQL code](troubleshooting-sql.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from plugins to components](upgrade-components.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [Use the keyring file component](use-keyring-file.md), [Use the keyring vault component](use-keyring-vault-component.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md), [Install using DNF](yum-repo.md), [Run Percona Server for MySQL](yum-run.md), [Uninstall Percona Server for MySQL](yum-uninstall.md) +monitoring +: [Use Percona Monitoring and Management (PMM) Advisors](advisors.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit log plugin](audit-log-plugin.md), [Manage group replication flow control](group-replication-flow-control.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Kill idle transaction](kill-idle-trx.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Next steps](quickstart-next-steps.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Thread pool](threadpool.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) + +mysql +: [Adaptive network buffers](adaptive-network-buffers.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [AppArmor profile modes](apparmor-profiles.md), [Secure Percona Server for MySQL with AppArmor](apparmor.md), [Install Percona Server for MySQL {{vers}} using downloaded DEB packages](apt-download-deb.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Apt pinning the Percona Server for MySQL {{vers}} packages](apt-pinning.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md), [Uninstall Percona Server for MySQL {{vers}} using the APT package manager](apt-uninstall-server.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md), [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Build APT packages](build-apt-packages.md), [MySQL Clone plugin](clone-plugin.md), [Common SQL commands](common-sql.md), [Compile Percona Server for MySQL from source](compile-percona-server.md), [Compressed columns with dictionaries](compressed-columns.md), [Configure AppArmor](configure-apparmor.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Development of Percona Server for MySQL](development.md), [Disable AppArmor](disable-apparmor.md), [Use Docker Compose and named volumes](docker-compose.md), [Docker environment variables](docker-config.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Downgrade Percona Server for MySQL](downgrade.md), [Percona Software Download instructions](download-instructions.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Enforcing storage engine](enforce-engine.md), [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [FIPS compliance](fips.md), [Functions](functions.md), [Get help from Percona](get-help.md), [Glossary](glossary.md), [Manage group replication flow control](group-replication-flow-control.md), [Group replication system variables](group-replication-system-variables.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Install the audit log filter](install-audit-log-filter.md), [Percona MyRocks installation guide](install-myrocks.md), [Install Percona Server for MySQL](installation.md), [Isolation levels](isolation-levels.md), [Jemalloc memory allocation profiling](jemalloc-profiling.md), [js_lang stored procedure and function overview](js-lang-overview.md), [js_lang component system variables](js-lang-variables.md), [JSON in Percona Server for MySQL](json-overview.md), [Kill idle transaction](kill-idle-trx.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Suppress warning messages](log-warnings-suppress.md), [Managing AppArmor profiles](manage-apparmor-profiles.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [MyRocks column families](myrocks-column-families.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md), [PAM authentication plugin](pam-plugin.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Percona Server for MySQL {{vers}} variables](percona-server-system-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Files in packages built for Percona Server for MySQL Pro](pro-files.md), [Process list](process-list.md), [The ProcFS plugin](procfs-plugin.md), [Support for PROXY protocol](proxy-protocol-support.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Overview](quickstart-overview.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [SELECT statement](select.md), [SELinux contexts and labels](selinux-contexts.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Understand version numbers](server-version-numbers.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Install Percona Server for MySQL from a source tarball](source-tarball.md), [SQL conventions](sql-conventions.md), [SQL operators](sql-operators.md), [SQL syntax](sql-syntax.md), [SSL improvements](ssl-improvement.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md), [Telemetry on Percona Server for MySQL](telemetry.md), [Thread based profiling](thread-based-profiling.md), [Thread pool](threadpool.md), [Trademark policy](trademark-policy.md), [Transaction management](transaction-mgmt.md), [Trigger updates](trigger-updates.md), [Troubleshoot SQL code](troubleshooting-sql.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from plugins to components](upgrade-components.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [Use the keyring file component](use-keyring-file.md), [Use the keyring vault component](use-keyring-vault-component.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md), [Install using DNF](yum-repo.md), [Run Percona Server for MySQL](yum-run.md), [Uninstall Percona Server for MySQL](yum-uninstall.md) ## N -**Files:** +### Files * [Next steps](quickstart-next-steps.md) ## O -**Files:** +### Files * [Overview](quickstart-overview.md) ## P -**Files:** +### Files * [PAM authentication plugin](pam-plugin.md) * [Percona MyRocks installation guide](install-myrocks.md) @@ -270,33 +311,41 @@ * [Percona Server for MySQL {{vers}} variables](percona-server-system-variables.md) * [Percona Software Download instructions](download-instructions.md) * [Percona Toolkit UDFs](udf-percona-toolkit.md) -* [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md) +* [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md) * [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md) * [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md) * [Post-installation](post-installation.md) * [Prefix index queries optimization](prefix-index-queries-optimization.md) * [Process list](process-list.md) -**Keywords:** +### Keywords + +percona +: [Adaptive network buffers](adaptive-network-buffers.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Use Percona Monitoring and Management (PMM) Advisors](advisors.md), [Secure Percona Server for MySQL with AppArmor](apparmor.md), [Install Percona Server for MySQL {{vers}} using downloaded DEB packages](apt-download-deb.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Apt pinning the Percona Server for MySQL {{vers}} packages](apt-pinning.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md), [Uninstall Percona Server for MySQL {{vers}} using the APT package manager](apt-uninstall-server.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md), [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Build APT packages](build-apt-packages.md), [Compile Percona Server for MySQL from source](compile-percona-server.md), [Compressed columns with dictionaries](compressed-columns.md), [Configure AppArmor](configure-apparmor.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Development of Percona Server for MySQL](development.md), [Disable AppArmor](disable-apparmor.md), [Use Docker Compose and named volumes](docker-compose.md), [Docker environment variables](docker-config.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Downgrade Percona Server for MySQL](downgrade.md), [Percona Software Download instructions](download-instructions.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Enforcing storage engine](enforce-engine.md), [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [FIPS compliance](fips.md), [Get help from Percona](get-help.md), [Glossary](glossary.md), [Group replication system variables](group-replication-system-variables.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Extended show engine InnoDB status](innodb-show-status.md), [Install the audit log filter](install-audit-log-filter.md), [Percona MyRocks installation guide](install-myrocks.md), [Install Percona Server for MySQL](installation.md), [Jemalloc memory allocation profiling](jemalloc-profiling.md), [JSON in Percona Server for MySQL](json-overview.md), [Keyring components overview](keyring-components-plugins-overview.md), [Using LDAP authentication plugins](ldap-authentication.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Managing AppArmor profiles](manage-apparmor-profiles.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md), [PAM authentication plugin](pam-plugin.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Percona Server for MySQL {{vers}} variables](percona-server-system-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Files in packages built for Percona Server for MySQL Pro](pro-files.md), [Process list](process-list.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Overview](quickstart-overview.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Understand version numbers](server-version-numbers.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Install Percona Server for MySQL from a source tarball](source-tarball.md), [SQL operators](sql-operators.md), [SQL syntax](sql-syntax.md), [SSL improvements](ssl-improvement.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Telemetry on Percona Server for MySQL](telemetry.md), [Thread based profiling](thread-based-profiling.md), [Trademark policy](trademark-policy.md), [Transaction management](transaction-mgmt.md), [Trigger updates](trigger-updates.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from plugins to components](upgrade-components.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [Use the keyring file component](use-keyring-file.md), [Use the keyring vault component](use-keyring-vault-component.md), [User statistics](user-stats.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Utility user](utility-user.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md), [Install using DNF](yum-repo.md), [Run Percona Server for MySQL](yum-run.md), [Uninstall Percona Server for MySQL](yum-uninstall.md) -* **percona** — [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), [Adaptive network buffers](adaptive-network-buffers.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Use Percona Monitoring and Management (PMM) Advisors](advisors.md), [Secure Percona Server for MySQL with AppArmor](apparmor.md), [Install Percona Server for MySQL {{vers}} using downloaded DEB packages](apt-download-deb.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Apt pinning the Percona Server for MySQL {{vers}} packages](apt-pinning.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md), [Uninstall Percona Server for MySQL {{vers}} using the APT package manager](apt-uninstall-server.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Install Percona Server for MySQL {{vers}} from a binary tarball](binary-tarball-install.md), [Binary tarball file names available based on the Percona Server for MySQL version](binary-tarball-names.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Build APT packages](build-apt-packages.md), [Compile Percona Server for MySQL from source](compile-percona-server.md), [Compressed columns with dictionaries](compressed-columns.md), [Configure AppArmor](configure-apparmor.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Development of Percona Server for MySQL](development.md), [Disable AppArmor](disable-apparmor.md), [Use Docker Compose and named volumes](docker-compose.md), [Docker environment variables](docker-config.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Downgrade Percona Server for MySQL](downgrade.md), [Percona Software Download instructions](download-instructions.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Enforcing storage engine](enforce-engine.md), [Extended SELECT INTO OUTFILE/DUMPFILE](extended-select-into-outfile.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [FIPS compliance](fips.md), [Get help from Percona](get-help.md), [Glossary](glossary.md), [Group replication system variables](group-replication-system-variables.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [InnoDB full-text search improvements](innodb-fts-improvements.md), [Extended show engine InnoDB status](innodb-show-status.md), [Install the audit log filter](install-audit-log-filter.md), [Percona MyRocks installation guide](install-myrocks.md), [Install Percona Server for MySQL](installation.md), [Jemalloc memory allocation profiling](jemalloc-profiling.md), [JSON in Percona Server for MySQL](json-overview.md), [Keyring components overview](keyring-components-plugins-overview.md), [Using LDAP authentication plugins](ldap-authentication.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Managing AppArmor profiles](manage-apparmor-profiles.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md), [PAM authentication plugin](pam-plugin.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Percona Server for MySQL {{vers}} variables](percona-server-system-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Prefix index queries optimization](prefix-index-queries-optimization.md), [Files in packages built for Percona Server for MySQL Pro](pro-files.md), [Process list](process-list.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Overview](quickstart-overview.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Understand version numbers](server-version-numbers.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Install Percona Server for MySQL from a source tarball](source-tarball.md), [SQL operators](sql-operators.md), [SQL syntax](sql-syntax.md), [SSL improvements](ssl-improvement.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Telemetry on Percona Server for MySQL](telemetry.md), [Thread based profiling](thread-based-profiling.md), [Trademark policy](trademark-policy.md), [Transaction management](transaction-mgmt.md), [Trigger updates](trigger-updates.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from plugins to components](upgrade-components.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [Use the keyring file component](use-keyring-file.md), [Use the keyring vault component](use-keyring-vault-component.md), [User statistics](user-stats.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [Use the Key Management Interoperability Protocol (KMIP)](using-kmip.md), [Utility user](utility-user.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md), [Install using DNF](yum-repo.md), [Run Percona Server for MySQL](yum-run.md), [Uninstall Percona Server for MySQL](yum-uninstall.md) -* **performance** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Introduction to Databases and SQL](database.md), [DELETE statement](delete.md), [Development of Percona Server for MySQL](development.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Downgrade Percona Server for MySQL](downgrade.md), [Encryption functions](encryption-functions.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Functions](functions.md), [Get help from Percona](get-help.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Isolation levels](isolation-levels.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Kill idle transaction](kill-idle-trx.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Overview](quickstart-overview.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log](slow-extended.md), [SQL syntax](sql-syntax.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Error handling in stored procedures](stored-procedure-error-handling.md), [Stored Procedures](stored-procedures.md), [Introduction to database tables](table.md), [Thread based profiling](thread-based-profiling.md), [Thread pool](threadpool.md), [Trademark policy](trademark-policy.md), [Trigger updates](trigger-updates.md), [Triggers](triggers.md), [UPDATE statement](update.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [UUID_VX component](uuid-versions.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md), [Install using DNF](yum-repo.md) -* **plugin** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Build APT packages](build-apt-packages.md), [MySQL Clone plugin](clone-plugin.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Install the audit log filter](install-audit-log-filter.md), [Percona MyRocks installation guide](install-myrocks.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Post-installation](post-installation.md), [The ProcFS plugin](procfs-plugin.md), [Thread pool](threadpool.md), [Uninstall Audit Log Filter](uninstall-audit-log-filter.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from plugins to components](upgrade-components.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [Use the keyring file component](use-keyring-file.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) -* **privilege** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Create a table](create-table.md), [Data masking component functions and variables](data-masking-function-list.md), [Introduction to Databases and SQL](database.md), [Disable Audit Log Filter logging](disable-audit-log-filter.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Encrypt system tablespace](encrypt-system-tablespace.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Install the data masking component](install-data-masking-component.md), [Install js_lang component](install-js-lang.md), [Percona MyRocks installation guide](install-myrocks.md), [js_lang privileges](js-lang-privileges.md), [js_lang stored function or procedure](js-lang-procedures.md), [Manage the Audit Log Filter files](manage-audit-log-filter.md), [Post-installation](post-installation.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Rotate the master encryption key](rotate-master-key.md), [UNINSTALL COMPONENT](uninstall-component.md), [User statistics](user-stats.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) +performance +: [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Introduction to Databases and SQL](database.md), [DELETE statement](delete.md), [Development of Percona Server for MySQL](development.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Downgrade Percona Server for MySQL](downgrade.md), [Encryption functions](encryption-functions.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Functions](functions.md), [Get help from Percona](get-help.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Isolation levels](isolation-levels.md), [js_lang stored procedure and function overview](js-lang-overview.md), [Kill idle transaction](kill-idle-trx.md), [Using libcoredumper](libcoredumper.md), [Too many connections warning](log-connection-error.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Overview](quickstart-overview.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log](slow-extended.md), [SQL syntax](sql-syntax.md), [Stack trace](stacktrace.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Error handling in stored procedures](stored-procedure-error-handling.md), [Stored Procedures](stored-procedures.md), [Introduction to database tables](table.md), [Thread based profiling](thread-based-profiling.md), [Thread pool](threadpool.md), [Trademark policy](trademark-policy.md), [Trigger updates](trigger-updates.md), [Triggers](triggers.md), [UPDATE statement](update.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [UUID_VX component](uuid-versions.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md), [Install using DNF](yum-repo.md) + +plugin +: [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Build APT packages](build-apt-packages.md), [MySQL Clone plugin](clone-plugin.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Install the audit log filter](install-audit-log-filter.md), [Percona MyRocks installation guide](install-myrocks.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Post-installation](post-installation.md), [The ProcFS plugin](procfs-plugin.md), [Thread pool](threadpool.md), [Uninstall Audit Log Filter](uninstall-audit-log-filter.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from plugins to components](upgrade-components.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [Use the keyring file component](use-keyring-file.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) + +privilege +: [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Create a table](create-table.md), [Data masking component functions and variables](data-masking-function-list.md), [Introduction to Databases and SQL](database.md), [Disable Audit Log Filter logging](disable-audit-log-filter.md), [Encrypt binary log files and relay log files](encrypt-binary-relay-log-files.md), [Encrypt system tablespace](encrypt-system-tablespace.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Install the data masking component](install-data-masking-component.md), [Install js_lang component](install-js-lang.md), [Percona MyRocks installation guide](install-myrocks.md), [js_lang privileges](js-lang-privileges.md), [js_lang stored function or procedure](js-lang-procedures.md), [Manage the Audit Log Filter files](manage-audit-log-filter.md), [Post-installation](post-installation.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Rotate the master encryption key](rotate-master-key.md), [UNINSTALL COMPONENT](uninstall-component.md), [User statistics](user-stats.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) ## Q -**Files:** +### Files * [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md) -**Keywords:** +### Keywords -* **query** — [Adaptive network buffers](adaptive-network-buffers.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit log plugin](audit-log-plugin.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Data masking component functions and variables](data-masking-function-list.md), [Use Docker Compose and named volumes](docker-compose.md), [Encryption functions](encryption-functions.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Functions](functions.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [Extended show engine InnoDB status](innodb-show-status.md), [JSON in Percona Server for MySQL](json-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The ProcFS plugin](procfs-plugin.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [SQL basics](sql-basics.md), [SQL operators](sql-operators.md), [SQL syntax](sql-syntax.md), [Thread pool](threadpool.md), [Trigger updates](trigger-updates.md), [Troubleshoot SQL code](troubleshooting-sql.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [UUID_VX component](uuid-versions.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) +query +: [Adaptive network buffers](adaptive-network-buffers.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit log plugin](audit-log-plugin.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Data masking component functions and variables](data-masking-function-list.md), [Use Docker Compose and named volumes](docker-compose.md), [Encryption functions](encryption-functions.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Functions](functions.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [Extended show engine InnoDB status](innodb-show-status.md), [JSON in Percona Server for MySQL](json-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The ProcFS plugin](procfs-plugin.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Restrict dynamic log file locations](restrict-dynamic-log-locations.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [SQL basics](sql-basics.md), [SQL operators](sql-operators.md), [SQL syntax](sql-syntax.md), [Thread pool](threadpool.md), [Trigger updates](trigger-updates.md), [Troubleshoot SQL code](troubleshooting-sql.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [UUID_VX component](uuid-versions.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) ## R -**Files:** +### Files * [Reading Audit Log Filter files](reading-audit-log-filter-files.md) * [Restrict dynamic log file locations](restrict-dynamic-log-locations.md) @@ -306,16 +355,23 @@ * [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md) * [Running Percona Server for MySQL in a Docker Container](docker.md) -**Keywords:** +### Keywords + +redo +: [Data at Rest Encryption](data-at-rest-encryption.md), [Log encryption](encrypt-logs.md), [Glossary](glossary.md), [Extended show engine InnoDB status](innodb-show-status.md), [Post-installation](post-installation.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md) + +replication +: [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data masking overview](data-masking-overview.md), [Downgrade Percona Server for MySQL](downgrade.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Manage group replication flow control](group-replication-flow-control.md), [Group replication system variables](group-replication-system-variables.md), [Index](index-contents.md), [Suppress warning messages](log-warnings-suppress.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md), [User statistics](user-stats.md) + +restore +: [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Index](index-contents.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Transaction management](transaction-mgmt.md), [Troubleshoot SELinux issues](troubleshoot-selinux.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md) -* **redo** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Log encryption](encrypt-logs.md), [Glossary](glossary.md), [Extended show engine InnoDB status](innodb-show-status.md), [Post-installation](post-installation.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md) -* **replication** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data masking overview](data-masking-overview.md), [Downgrade Percona Server for MySQL](downgrade.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Manage group replication flow control](group-replication-flow-control.md), [Group replication system variables](group-replication-system-variables.md), [Index](index-contents.md), [Suppress warning messages](log-warnings-suppress.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MySQL upgrade paths and supported methods](mysql-upgrade-paths.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md), [Slow query log](slow-extended.md), [Slow query log rotation and expiration](slowlog-rotation.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md), [User statistics](user-stats.md) -* **restore** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Index](index-contents.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Next steps](quickstart-next-steps.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Transaction management](transaction-mgmt.md), [Troubleshoot SELinux issues](troubleshoot-selinux.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Upgrade strategies](upgrade-strategies.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md) -* **row** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Data masking overview](data-masking-overview.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Improved MEMORY storage engine](improved-memory-engine.md), [INSERT statement](insert.md), [JSON in Percona Server for MySQL](json-overview.md), [Kill idle transaction](kill-idle-trx.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Process list](process-list.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Slow query log](slow-extended.md), [UNINSTALL COMPONENT](uninstall-component.md), [UPDATE statement](update.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md) +row +: [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Data masking overview](data-masking-overview.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Improved MEMORY storage engine](improved-memory-engine.md), [INSERT statement](insert.md), [JSON in Percona Server for MySQL](json-overview.md), [Kill idle transaction](kill-idle-trx.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Process list](process-list.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Slow query log](slow-extended.md), [UNINSTALL COMPONENT](uninstall-component.md), [UPDATE statement](update.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md) ## S -**Files:** +### Files * [Secure Percona Server for MySQL with AppArmor](apparmor.md) * [Secure Percona Server for MySQL with SELinux](selinux.md) @@ -336,16 +392,23 @@ * [Support for PROXY protocol](proxy-protocol-support.md) * [Suppress warning messages](log-warnings-suppress.md) -**Keywords:** +### Keywords -* **schema** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Backup and restore overview](backup-restore-overview.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Common data types](data-types-basic.md), [Docker environment variables](docker-config.md), [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Glossary](glossary.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log](slow-extended.md), [Triggers](triggers.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **snapshot** — [Backup locks](backup-locks.md), [MySQL Clone plugin](clone-plugin.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Index](index-contents.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md) -* **SSL** — [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [FIPS compliance](fips.md), [Index](index-contents.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md), [SSL improvements](ssl-improvement.md), [User statistics](user-stats.md) -* **storage engine** — [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit Log Filter overview](audit-log-filter-overview.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Enforcing storage engine](enforce-engine.md), [Extended mysqldump](extended-mysqldump.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Improved InnoDB I/O scalability](innodb-io.md), [Percona MyRocks installation guide](install-myrocks.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Show storage engines](show-engines.md), [SQL syntax](sql-syntax.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) +schema +: [Backup and restore overview](backup-restore-overview.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Common data types](data-types-basic.md), [Docker environment variables](docker-config.md), [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Glossary](glossary.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Slow query log](slow-extended.md), [Triggers](triggers.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md) + +snapshot +: [Backup locks](backup-locks.md), [MySQL Clone plugin](clone-plugin.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Index](index-contents.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md) + +SSL +: [FIPS compliance](fips.md), [Index](index-contents.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md), [SSL improvements](ssl-improvement.md), [User statistics](user-stats.md) + +storage engine +: [DEB repository package list - Percona Server for MySQL {{vers}}](apt-files.md), [Audit Log Filter overview](audit-log-filter-overview.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Enforcing storage engine](enforce-engine.md), [Extended mysqldump](extended-mysqldump.md), [Extended SET VAR optimizer hint](extended-set-var.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Improved InnoDB I/O scalability](innodb-io.md), [Percona MyRocks installation guide](install-myrocks.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [Percona MyRocks introduction](myrocks-index.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Show storage engines](show-engines.md), [SQL syntax](sql-syntax.md), [Upgrade procedures for {{vers}}](upgrade-procedures.md), [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) ## T -**Files:** +### Files * [Telemetry on Percona Server for MySQL](telemetry.md) * [The Percona XtraDB storage engine](percona-xtradb.md) @@ -362,19 +425,32 @@ * [Troubleshoot SELinux issues](troubleshoot-selinux.md) * [Troubleshoot SQL code](troubleshooting-sql.md) -**Keywords:** +### Keywords + +table +: [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [MySQL Clone plugin](clone-plugin.md), [Common SQL commands](common-sql.md), [Compressed columns with dictionaries](compressed-columns.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Create a table](create-table.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Introduction to Databases and SQL](database.md), [DELETE statement](delete.md), [Use Docker Compose and named volumes](docker-compose.md), [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md), [Log encryption](encrypt-logs.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Enforcing storage engine](enforce-engine.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Install the data masking component](install-data-masking-component.md), [Percona MyRocks installation guide](install-myrocks.md), [JSON in Percona Server for MySQL](json-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [MyRocks column families](myrocks-column-families.md), [Data loading](myrocks-data-loading.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [Process list](process-list.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SELECT statement](select.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Slow query log](slow-extended.md), [Stack trace](stacktrace.md), [Introduction to database tables](table.md), [Trigger updates](trigger-updates.md), [Triggers](triggers.md), [Troubleshoot SQL code](troubleshooting-sql.md), [UNINSTALL COMPONENT](uninstall-component.md), [UPDATE statement](update.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **table** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Multiple page asynchronous I/O requests](aio-page-requests.md), [Audit Log Filter format - JSON](audit-log-filter-json.md), [Audit Log Filter file naming conventions](audit-log-filter-naming.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Backup locks](backup-locks.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [MySQL Clone plugin](clone-plugin.md), [Common SQL commands](common-sql.md), [Compressed columns with dictionaries](compressed-columns.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Create a table](create-table.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Introduction to Databases and SQL](database.md), [DELETE statement](delete.md), [Use Docker Compose and named volumes](docker-compose.md), [Encrypt File-Per-Table Tablespace](encrypt-file-per-table-tablespace.md), [Log encryption](encrypt-logs.md), [Encrypt schema or general tablespace](encrypt-tablespaces.md), [Encrypt temporary files](encrypt-temporary-files.md), [Enforcing storage engine](enforce-engine.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Glossary](glossary.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Expanded fast index creation](innodb-expanded-fast-index-creation.md), [InnoDB page fragmentation counters](innodb-fragmentation-count.md), [Extended show engine InnoDB status](innodb-show-status.md), [INSERT statement](insert.md), [Install the data masking component](install-data-masking-component.md), [Percona MyRocks installation guide](install-myrocks.md), [JSON in Percona Server for MySQL](json-overview.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [MyRocks column families](myrocks-column-families.md), [Data loading](myrocks-data-loading.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PERCONA_SEQUENCE_TABLE(n) function](percona-sequence-table.md), [Performance Schema MyRocks changes](performance-schema-myrocks-changes.md), [Post-installation](post-installation.md), [Process list](process-list.md), [Limit the estimation of records in a Query](query-limit-records.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SELECT statement](select.md), [SEQUENCE_TABLE(n) function](sequence-table.md), [Slow query log](slow-extended.md), [Stack trace](stacktrace.md), [Introduction to database tables](table.md), [Trigger updates](trigger-updates.md), [Triggers](triggers.md), [Troubleshoot SQL code](troubleshooting-sql.md), [UNINSTALL COMPONENT](uninstall-component.md), [UPDATE statement](update.md), [User statistics](user-stats.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md) -* **tech preview** — [Data masking component functions and variables](data-masking-function-list.md), [Glossary](glossary.md), [Group replication system variables](group-replication-system-variables.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [MyRocks server variables](myrocks-server-variables.md), [Limit the estimation of records in a Query](query-limit-records.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md) -* **thread** — [Percona Server for MySQL feature comparison](feature-comparison.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Index](index-contents.md), [Extended show engine InnoDB status](innodb-show-status.md), [js_lang stored procedure and function overview](js-lang-overview.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Process list](process-list.md), [Slow query log](slow-extended.md), [Thread based profiling](thread-based-profiling.md), [Thread pool](threadpool.md), [User statistics](user-stats.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) -* **timeout** — [Group replication system variables](group-replication-system-variables.md), [Extended show engine InnoDB status](innodb-show-status.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [Kill idle transaction](kill-idle-trx.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Use the keyring vault component](use-keyring-vault-component.md) -* **TLS** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-8.4-updates.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md) -* **transaction** — [Backup locks](backup-locks.md), [Managing binary log disk space](binlog-space.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Common SQL commands](common-sql.md), [Create a table](create-table.md), [Introduction to Databases and SQL](database.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Index](index-contents.md), [Extended show engine InnoDB status](innodb-show-status.md), [Isolation levels](isolation-levels.md), [Kill idle transaction](kill-idle-trx.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [SQL syntax](sql-syntax.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Introduction to database tables](table.md), [Thread pool](threadpool.md), [Transaction management](transaction-mgmt.md), [Views](views.md) -* **trigger** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Index](index-contents.md), [Data loading](myrocks-data-loading.md), [MyRocks server variables](myrocks-server-variables.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md), [Trigger updates](trigger-updates.md), [Triggers](triggers.md), [Troubleshoot SELinux issues](troubleshoot-selinux.md) +tech preview +: [Data masking component functions and variables](data-masking-function-list.md), [Glossary](glossary.md), [Group replication system variables](group-replication-system-variables.md), [Additional INFORMATION_SCHEMA tables](misc-info-schema-tables.md), [MyRocks server variables](myrocks-server-variables.md), [Limit the estimation of records in a Query](query-limit-records.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md) + +thread +: [Percona Server for MySQL feature comparison](feature-comparison.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Index](index-contents.md), [Extended show engine InnoDB status](innodb-show-status.md), [js_lang stored procedure and function overview](js-lang-overview.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Process list](process-list.md), [Slow query log](slow-extended.md), [Thread based profiling](thread-based-profiling.md), [Thread pool](threadpool.md), [User statistics](user-stats.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) + +timeout +: [Group replication system variables](group-replication-system-variables.md), [Extended show engine InnoDB status](innodb-show-status.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [Kill idle transaction](kill-idle-trx.md), [MyRocks server variables](myrocks-server-variables.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Use the keyring vault component](use-keyring-vault-component.md) + +TLS +: [LDAP authentication plugin system variables](ldap-system-variables.md), [Percona Toolkit updates for {{vers}}](percona-toolkit-9.7-updates.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md) + +transaction +: [Backup locks](backup-locks.md), [Managing binary log disk space](binlog-space.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Common SQL commands](common-sql.md), [Create a table](create-table.md), [Introduction to Databases and SQL](database.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Index](index-contents.md), [Extended show engine InnoDB status](innodb-show-status.md), [Isolation levels](isolation-levels.md), [Kill idle transaction](kill-idle-trx.md), [Modify a table](modify-tables.md), [Updated supported features](myrocks-added-features.md), [Data loading](myrocks-data-loading.md), [Differences between Percona MyRocks and Facebook MyRocks](myrocks-differences.md), [Gap locks detection](myrocks-gap-locks-detection.md), [MyRocks Information Schema tables](myrocks-information-schema-tables.md), [MyRocks limitations](myrocks-limitations.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [SQL syntax](sql-syntax.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Introduction to database tables](table.md), [Thread pool](threadpool.md), [Transaction management](transaction-mgmt.md), [Views](views.md) + +trigger +: [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Index](index-contents.md), [Data loading](myrocks-data-loading.md), [MyRocks server variables](myrocks-server-variables.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md), [Trigger updates](trigger-updates.md), [Triggers](triggers.md), [Troubleshoot SELinux issues](troubleshoot-selinux.md) ## U -**Files:** +### Files * [Understand version numbers](server-version-numbers.md) * [Uninstall Audit Log Filter](uninstall-audit-log-filter.md) @@ -385,8 +461,8 @@ * [Uninstall the js_lang component](uninstall-js-lang.md) * [UPDATE statement](update.md) * [Updated supported features](myrocks-added-features.md) -* [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md) -* [Upgrade from 8.0 to {{vers}} overview](upgrade.md) +* [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md) +* [Upgrade from 8.4 to {{vers}} overview](upgrade.md) * [Upgrade from plugins to components](upgrade-components.md) * [Upgrade procedures for {{vers}}](upgrade-procedures.md) * [Upgrade strategies](upgrade-strategies.md) @@ -403,45 +479,56 @@ * [Utility user](utility-user.md) * [UUID_VX component](uuid-versions.md) -**Keywords:** +### Keywords -* **undo** — [Defaults and tuning guidance for {{vers}}](8.4-defaults-and-tuning.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Log encryption](encrypt-logs.md), [Encrypt temporary files](encrypt-temporary-files.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Kill idle transaction](kill-idle-trx.md), [Transaction management](transaction-mgmt.md), [UNINSTALL COMPONENT](uninstall-component.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md) -* **user** — [Breaking and incompatible changes in {{vers}}](8.4-breaking-changes.md), [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md), [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Create a table](create-table.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Introduction to Databases and SQL](database.md), [Docker environment variables](docker-config.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Enforcing storage engine](enforce-engine.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona MyRocks installation guide](install-myrocks.md), [Isolation levels](isolation-levels.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [js_lang privileges](js-lang-privileges.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [JSON in Percona Server for MySQL](json-overview.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [MyRocks column families](myrocks-column-families.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Post-installation](post-installation.md), [Process list](process-list.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SELinux contexts and labels](selinux-contexts.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SQL syntax](sql-syntax.md), [Introduction to database tables](table.md), [Telemetry on Percona Server for MySQL](telemetry.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [Upgrade from plugins to components](upgrade-components.md), [User statistics](user-stats.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) -* **utf8mb4** — [js_lang type conversions](js-lang-type-conversions.md), [UUID_VX component](uuid-versions.md) -* **UUID** — [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data masking component functions and variables](data-masking-function-list.md), [Index](index-contents.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [UUID_VX component](uuid-versions.md) +undo +: [Data at Rest Encryption](data-at-rest-encryption.md), [Log encryption](encrypt-logs.md), [Encrypt temporary files](encrypt-temporary-files.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Kill idle transaction](kill-idle-trx.md), [Transaction management](transaction-mgmt.md), [UNINSTALL COMPONENT](uninstall-component.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md) + +user +: [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md), [Use an APT repository to install Percona Server for MySQL {{vers}}](apt-repo.md), [Run Percona Server for MySQL {{vers}} after APT repository installation](apt-run.md), [Audit Log Filter compression and encryption](audit-log-filter-compression-encryption.md), [Audit Log Filter format - XML (new style)](audit-log-filter-new.md), [Audit Log Filter format - XML (old style)](audit-log-filter-old.md), [Audit Log Filter overview](audit-log-filter-overview.md), [Audit Log Filter restrictions](audit-log-filter-restrictions.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Audit log plugin](audit-log-plugin.md), [Authentication methods](authentication-methods.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [MySQL Clone plugin](clone-plugin.md), [Compressed columns with dictionaries](compressed-columns.md), [Copyright and licensing information](copyright-and-licensing-information.md), [Create a table](create-table.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Data masking component functions and variables](data-masking-function-list.md), [Data masking overview](data-masking-overview.md), [Common data types](data-types-basic.md), [Introduction to Databases and SQL](database.md), [Docker environment variables](docker-config.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Encrypt temporary files](encrypt-temporary-files.md), [Encryption functions](encryption-functions.md), [Enforcing storage engine](enforce-engine.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [FIDO authentication plugin](fido-authentication-plugin.md), [Filter the Audit Log Filter logs](filter-audit-log-filter-files.md), [Improved MEMORY storage engine](improved-memory-engine.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona MyRocks installation guide](install-myrocks.md), [Isolation levels](isolation-levels.md), [js_lang Console API](js-lang-console-api.md), [js_lang stored procedure and function overview](js-lang-overview.md), [js_lang privileges](js-lang-privileges.md), [Troubleshoot js_lang procedures and functions](js-lang-troubleshoot.md), [JSON in Percona Server for MySQL](json-overview.md), [Using LDAP authentication plugins](ldap-authentication.md), [LDAP authentication plugin system variables](ldap-system-variables.md), [MyRocks column families](myrocks-column-families.md), [MyRocks server variables](myrocks-server-variables.md), [MyRocks status variables](myrocks-status-variables.md), [PAM authentication plugin](pam-plugin.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [Post-installation](post-installation.md), [Process list](process-list.md), [The ProcFS plugin](procfs-plugin.md), [Install Percona Server for MySQL and create a database on Ubuntu](quickstart-apt.md), [Quickstart - Run Percona Server for MySQL container images with Docker](quickstart-docker.md), [Install Percona Server for MySQL and create a database on Oracle Linux](quickstart-yum.md), [SELinux contexts and labels](selinux-contexts.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [SQL syntax](sql-syntax.md), [Introduction to database tables](table.md), [Telemetry on Percona Server for MySQL](telemetry.md), [Percona Toolkit UDFs](udf-percona-toolkit.md), [Upgrade from plugins to components](upgrade-components.md), [User statistics](user-stats.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [Utility user](utility-user.md), [UUID_VX component](uuid-versions.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install using DNF](yum-repo.md) + +utf8mb4 +: [js_lang type conversions](js-lang-type-conversions.md), [UUID_VX component](uuid-versions.md) + +UUID +: [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data masking component functions and variables](data-masking-function-list.md), [Index](index-contents.md), [Use the Amazon Key Management Service (AWS KMS)](using-amz-kms.md), [UUID_VX component](uuid-versions.md) ## V -**Files:** +### Files * [Variables in stored procedures, functions, and triggers](stored-procedure-variables.md) * [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md) * [Views](views.md) -**Keywords:** +### Keywords -* **view** — [Additional SELinux tools and management](additional-selinux-tools.md), [Audit Log Filter security](audit-log-filter-security.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Use Docker Compose and named volumes](docker-compose.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Extended show engine InnoDB status](innodb-show-status.md), [Manage SELinux modes](manage-selinux-modes.md), [MyRocks status variables](myrocks-status-variables.md), [The ProcFS plugin](procfs-plugin.md), [SELinux contexts and labels](selinux-contexts.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Triggers](triggers.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md) +view +: [Additional SELinux tools and management](additional-selinux-tools.md), [Audit Log Filter security](audit-log-filter-security.md), [Audit log filter functions, options, and variables](audit-log-filter-variables.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Compressed columns with dictionaries](compressed-columns.md), [Use Docker Compose and named volumes](docker-compose.md), [Running Percona Server for MySQL in a Docker Container](docker.md), [Review effective privileges with SHOW EFFECTIVE GRANTS](extended-show-grants.md), [Extended show engine InnoDB status](innodb-show-status.md), [Manage SELinux modes](manage-selinux-modes.md), [MyRocks status variables](myrocks-status-variables.md), [The ProcFS plugin](procfs-plugin.md), [SELinux contexts and labels](selinux-contexts.md), [Secure Percona Server for MySQL with SELinux](selinux.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Triggers](triggers.md), [Verify the encryption for tables, tablespaces, and schemas](verify-encryption.md), [Views](views.md), [Write audit_log_filter definitons](write-filter-definitions.md), [Install Percona Server for MySQL using downloaded RPM packages](yum-download-rpm.md) ## W -**Files:** +### Files * [Write audit_log_filter definitons](write-filter-definitions.md) ## X -**Files:** +### Files * [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md) -**Keywords:** +### Keywords + +xtrabackup +: [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Development of Percona Server for MySQL](development.md), [Use Docker Compose and named volumes](docker-compose.md), [Frequently asked questions](faq.md), [Install Percona Server for MySQL](installation.md), [Next steps](quickstart-next-steps.md), [Trademark policy](trademark-policy.md), [Upgrade checklist for {{vers}}](upgrade-checklist-9.7.md), [Upgrade from 8.4 to {{vers}} overview](upgrade.md) -* **xtrabackup** — [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Backup locks](backup-locks.md), [Backup and restore overview](backup-restore-overview.md), [Binary logs and replication improvements](binlogging-replication-improvements.md), [Data at Rest Encryption](data-at-rest-encryption.md), [Development of Percona Server for MySQL](development.md), [Use Docker Compose and named volumes](docker-compose.md), [Frequently asked questions](faq.md), [Install Percona Server for MySQL](installation.md), [Next steps](quickstart-next-steps.md), [Trademark policy](trademark-policy.md), [Upgrade checklist for {{vers}}](upgrade-checklist-8.4.md), [Upgrade from 8.0 to {{vers}} overview](upgrade.md) -* **XtraDB** — [Compatibility and removed items in {{vers}}](8.4-compatibility-and-removed-items.md), [Compressed columns with dictionaries](compressed-columns.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Next steps](quickstart-next-steps.md), [Show storage engines](show-engines.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Trademark policy](trademark-policy.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install using DNF](yum-repo.md) +XtraDB +: [Compressed columns with dictionaries](compressed-columns.md), [Frequently asked questions](faq.md), [Percona Server for MySQL feature comparison](feature-comparison.md), [Glossary](glossary.md), [Index](index-contents.md), [Index of INFORMATION_SCHEMA tables](index-info-schema-tables.md), [Percona Server for MySQL {{vers}} - Documentation](index.md), [Handle corrupted tables](innodb-corrupt-table-action.md), [Improved InnoDB I/O scalability](innodb-io.md), [Extended show engine InnoDB status](innodb-show-status.md), [Percona MyRocks installation guide](install-myrocks.md), [List of features available in Percona Server for MySQL releases](percona-server-versions-comparison.md), [The Percona XtraDB storage engine](percona-xtradb.md), [Next steps](quickstart-next-steps.md), [Show storage engines](show-engines.md), [Start transaction with consistent snapshot](start-transaction-with-consistent-snapshot.md), [Trademark policy](trademark-policy.md), [XtraDB performance improvements for I/O-bound highly-concurrent workloads](xtradb-performance-improvements.md), [Install using DNF](yum-repo.md) ## Y -**Files:** +### Files * [Yum repository package list - Percona Server for MySQL {{vers}}](yum-files.md) diff --git a/docs/migration-from-ps-ce.md b/docs/migration-from-ps-ce.md new file mode 100644 index 00000000000..ce71097d9d5 --- /dev/null +++ b/docs/migration-from-ps-ce.md @@ -0,0 +1,266 @@ +# Migrate from Percona Server for MySQL to MySQL Community Edition + +**Topic type**: Task + +Using Percona-only features on Percona Server is supported and often beneficial. If you later move to MySQL Community Edition (CE), migration is straightforward when you follow the [best practices](#best-practices-migrating-to-mysql-ce). + +!!! warning "Data loss risk" + + Some Percona Server features are one-way doors. MyRocks tables, compressed columns, and Percona keyring components leave on-disk metadata that MySQL Community Edition cannot read. Verify the migration path with a logical dump and restore. Do not perform an in-place binary swap if any of these features are active. + +Both products share the same core code; Percona Server adds performance and security features that do not exist in MySQL CE. Certain features create a ["one-way door"](#summary-of-the-one-way-door-risk): metadata and structural changes they introduce cannot be interpreted by MySQL CE. The features include MyRocks, compressed columns and compression dictionaries, Percona keyring components (Vault, KMIP, AWS KMS), and, with more reversible impact, the Percona Audit Log plugin, PAM/LDAP authentication, Data Masking, and the thread pool. + +The diagram below summarizes migration paths: checking for Percona-exclusive features, choosing a logical dump and restore (recommended) versus an in-place binary swap with cleanup, and the main steps in each path. + +![Percona Server for MySQL to MySQL Community Edition migration process](_static/ce-flowchart.png){ style="max-width: 100%; height: auto; width: 960px;" } + +## Exclusive Features + +When planning a migration to MySQL CE, you need to know which features are exclusive to Percona. These CE-incompatible features are not active by default: MyRocks, the Percona Audit Log plugin, the Audit Log Filter component, Data Masking, and PAM/LDAP authentication must be explicitly installed (or configured); only the thread pool is built in but off until you set `thread_handling=pool-of-threads` in the configuration. The following table summarizes the main exclusive features. + +| Feature | Notes | +|---------|-------| +| [MyRocks Storage Engine](myrocks-index.md) | Not in MySQL CE; requires explicit installation. Migration: see [Performance and Engine](#performance-and-engine-features). | +| [Percona Audit Log Plugin](audit-log-plugin.md) | Not in MySQL CE. Migration: see [Security and Auditing](#security-and-auditing). | +| [Audit Log Filter](audit-log-filter-overview.md) | Not in MySQL CE. Migration: see [Security and Auditing](#security-and-auditing). | +| [PAM](pam-plugin.md) / [LDAP](ldap-authentication.md) Authentication | Not in MySQL CE; require manual configuration. Migration: see [Security and Auditing](#security-and-auditing). | +| [Data Masking](data-masking-overview.md) | Not in MySQL CE; must be manually installed. Migration: see [Security and Auditing](#security-and-auditing). | +| [Thread Pool](threadpool.md) | Built in but off until `thread_handling=pool-of-threads`. Migration: see [Performance and Engine](#performance-and-engine-features). | + +## Performance and Engine Features + +Percona Server includes several optimizations that MySQL Community cannot parse or execute. The following table describes migration actions for engine-related exclusive features (see [Exclusive Features](#exclusive-features) for the full list). + +| Feature | Migration action | +|---------|------------------| +| XtraDB Enhancements | Remove Percona-only `innodb_` variables from your `my.cnf` (for example, `innodb_empty_free_list_algorithm`, `innodb_track_changed_pages`, `innodb_corrupt_table_action`, `innodb_cleaner_lsn_age_factor`). Basic InnoDB data is compatible. | +| [Thread Pool](threadpool.md) | Disable the thread pool and use the default one-thread-per-connection model. | +| [MyRocks Storage Engine](myrocks-index.md) | Migrate tables to InnoDB before dump (or edit dump to change `ENGINE=MyRocks` to `ENGINE=InnoDB`). | +| [Compressed columns and compression dictionaries](compressed-columns.md) | Decompress or alter columns before dump; no CE equivalent. See the linked doc. If tables use this feature, migration to CE is not possible until columns are changed. | + +To see which `innodb_` variables are exclusive to Percona, use the [Percona Server system variables reference](percona-server-system-variables.md). That page lists all Percona-specific system variables (including `innodb_*`). Remove from your `my.cnf` any variable that does not exist in your target MySQL Community Edition release. + +Compressed columns and compression dictionaries are a major compatibility issue. If you have tables that use this feature, you cannot migrate to MySQL CE; you must remove or alter those columns (for example, decompress the columns) before a logical dump and restore. In addition, this feature creates additional tables in the system tablespace. To see whether any compression dictionaries (and thus those system tables) exist, query the `INFORMATION_SCHEMA` views that the feature adds: `COMPRESSION_DICTIONARY` and `COMPRESSION_DICTIONARY_TABLES`. See [Compressed columns with dictionaries](compressed-columns.md) for the structure of those views. Those system tables may cause problems when moving to MySQL CE even if you do not use compressed columns in your own tables. + +## Security and Auditing + +Migration actions for security and auditing features that are exclusive to Percona (see [Exclusive Features](#exclusive-features) for the full list). + +| Feature | Migration action | +|---------|------------------| +| [Audit Log Plugin](audit-log-plugin.md) | Disable auditing or use a community-supported alternative. | +| [Audit Log Filter](audit-log-filter-overview.md) | Uninstall the component and remove its configuration. | +| [PAM](pam-plugin.md) / [LDAP](ldap-authentication.md) Authentication | Migrate users to `caching_sha2_password` before switching. MySQL 9.x removes the server-side `mysql_native_password` plugin; MySQL 8.4 disables it by default. | +| [Data Masking](data-masking-overview.md) | Uninstall the Data Masking components. | + +## Operational and Monitoring Features + +| Feature | Notes | +|---------|-------| +| Extended Slow Query Log | Percona's slow query log includes extra fields (such as `Rows_examined` and `Thread_id`). MySQL Community will fail to start if MySQL Community encounters Percona-only log configuration variables in your config file. | +| Utility Components | Uninstall features such as the UUID_VX component or keyring plugins that are exclusive to Percona. | + +To see which slow-query and log variables are Percona-only, use the [Percona Server system variables reference](percona-server-system-variables.md). Remove from your `my.cnf` any of these if present: `log_slow_filter`, `log_slow_rate_limit`, `log_slow_rate_type`, `log_slow_sp_statements`, `log_slow_verbosity`, `slow_query_log_always_write_time`, and `slow_query_log_use_global_control`. + +Keyring components and variables that are exclusive to Percona must be removed or replaced before migration. MySQL Community Edition does not support the following; uninstall them and remove their configuration: + +* Components: `component_keyring_vault` (HashiCorp Vault), `component_keyring_kmip` (KMIP), and `component_keyring_kms` (AWS KMS). See the [Keyring components overview](keyring-components-plugins-overview.md) for details. + +* System variables: `keyring_vault_config` and `keyring_vault_timeout`. Remove these from your `my.cnf`. The [Percona Server system variables reference](percona-server-system-variables.md) lists all Percona-only variables. + +MySQL CE supports file-based keyring components (such as `component_keyring_file` and `component_keyring_encrypted_file`). If you need encryption after migration, plan to use one of these or another keyring option documented for MySQL Community Edition. + +If you are using these Percona keyring components (Vault, KMIP, or AWS KMS), you can still migrate to MySQL CE, but not by an in-place package swap. MySQL CE cannot load those components or decrypt data that was encrypted with them. Use a logical dump and restore: export the data from Percona Server while the keyring is active (the server decrypts when reading), then restore the dump into a fresh MySQL CE instance. On the CE instance you can enable a CE-supported keyring (for example, the file component) if you want encryption at rest after migration. + +If you used Percona's enhanced encryption features, specialized page compression, or `fast_checksum` (which alters how data is written to disk), MySQL Community Edition may not be able to read those pages. In that case you are not migrating data; you are leaving the data in a form that the Community binary cannot open. Before migration you must: (1) Do not copy data files or do an in-place binary swap. (2) Run mysqldump (or another logical dump tool) from Percona Server while the relevant features are still enabled so the server can read the data. (3) Restore the dump into a fresh MySQL CE instance. (4) In the configuration for the new CE instance, remove or omit the Percona-only on-disk format options (for example, `fast_checksum`) so the CE instance does not use them. + +## Best practices: migrating to MySQL CE + +When you have used Percona-exclusive features and decide to move to MySQL CE, the path is generally not a simple in-place package swap. Follow the steps below for a reliable migration. + +### Requirement for Logical Migration + +Because of potential binary incompatibilities and Percona-specific metadata (especially if MyRocks or specific keyring components are used), the only reliable method to migrate to MySQL CE is a logical dump and restore. + +* Provision a fresh instance: Set up a completely new MySQL CE instance. + +* Dump data: Use a tool such as mysqldump to export the data from Percona Server. + +* Restore: Import the logical file into the fresh MySQL CE instance. + +### Metadata and Sanitization Steps + +A simple dump and restore often fails if Percona-specific features have left traces in the metadata. Specific sanitization is required: + +* Storage Engine Conversion: Convert any tables using MyRocks to InnoDB before the dump, or edit the SQL script manually to change `ENGINE=MyRocks` to `ENGINE=InnoDB`. + +* Compressed columns and compression dictionaries: If any tables use Percona's compressed columns or compression dictionaries, you cannot migrate to MySQL CE until you remove or alter those columns (for example, change `COLUMN_FORMAT COMPRESSED` to `COLUMN_FORMAT DEFAULT` or another supported format). MySQL CE does not support this feature. + +* Authentication Cleanup: Drop or modify any users created with Percona-exclusive plugins (such as authentication_pam or authentication_ldap) so that they use a CE-supported plugin (such as caching_sha2_password) before migration. + +* Configuration Sanitization: Remove all Percona-only variables from `my.cnf` (for example, `audit_log_*`, `thread_pool_*`, or extended slow_query_log variables). If the configuration file contains even one Percona-specific variable, MySQL CE will not start: the server rejects unknown system variables and exits at startup. + +* On-disk format (enhanced encryption, specialized page compression, or `fast_checksum`): If you used options that change how InnoDB writes data to disk (for example, Percona encryption, page compression, or `fast_checksum`), MySQL CE may not recognize those page formats. Before migration: do not copy data files or switch binaries in place. Run a logical dump (for example, mysqldump) from Percona Server while the server is running and the feature is enabled, then restore the dump into a fresh MySQL CE instance. In the configuration for the new CE instance, omit or remove the Percona-only on-disk format options. + +* System Table Cleanup: Percona sometimes adds columns to system tables for internal tracking. A logical dump of user databases is usually fine, but dumping and restoring the mysql system database can cause severe schema mismatches. + +* System schemas (performance_schema, sys): Percona Server for MySQL {{vers}} adds telemetry and diagnostic tables to the `performance_schema` and `sys` schemas that MySQL CE does not recognize. A migration that reuses or restores those schemas leaves orphaned metadata in place. That metadata is not merely extra data; the orphaned objects can collide with new tables or columns when you apply future MySQL CE minor-version upgrades. Prefer a logical dump and restore of user data only, and let the MySQL CE instance create its own `performance_schema` and `sys` schemas at startup. See [Telemetry on Percona Server for MySQL](telemetry.md) and [Additional PERFORMANCE_SCHEMA tables](additional-performance-schema-tables.md) for context. + +### If you switch binaries in place: clean shutdown and redo log + +The role of the LSN (log sequence number): The LSN is a 64-bit integer that acts as a unique identifier for every change made to the database. The LSN is central to how the InnoDB storage engine orders and recovers work. + +In standard MySQL, the LSN tracks normal data modifications (inserts, updates, deletes). In Percona Server, Percona adds extra information to these log records to support features such as fast checkpointing, parallel doublewrite buffers, and improved changed page tracking (used for faster incremental backups). + +The "unknown record" error: Percona Server writes these specialized record types into the redo log (`ib_logfile0`, `ib_logfile1`). If you shut down Percona and then start the MySQL Community Edition binary against the same data directory, MySQL CE attempts crash recovery by reading the redo log. When the MySQL CE parser hits a Percona-specific log record, the parser has no definition for that record type. The MySQL service then fails to start with an error similar to: + +``` +[ERROR] [MY-011899] [InnoDB] Unknown redo log record type 123 +``` + +To avoid LSN incompatibility, ensure the redo log is empty before switching binaries. That is done with a clean shutdown. Follow these steps: +{.power-number} + +1. Set the global fast shutdown option to 0 (slow/full shutdown) so that InnoDB flushes all dirty pages and clears the redo log completely: + + ```sql + SET GLOBAL innodb_fast_shutdown = 0; + ``` + + With the default value 1, the server skips a full purge and insert buffer merge and can leave data in the redo log. With value 0, the server flushes all dirty pages and clears the redo log completely. + +2. Stop the Percona Server service. + +3. Optionally, move or delete the redo log files (`ib_logfile0` and `ib_logfile1`) from the data directory so that MySQL CE does not see old log files. This step is optional but reduces the risk of parsing Percona-specific log records. + +4. Replace the Percona Server binaries with MySQL Community Edition (install MySQL CE). + +5. Start MySQL. With the redo log empty or removed, MySQL CE starts without having to parse Percona-specific LSN or log records. + +A clean shutdown and empty redo log do not remove other incompatibilities (for example, Percona-only variables in `my.cnf`, plugins, or on-disk page formats). Prefer a logical dump and restore unless you have already sanitized configuration and confirmed you have no Percona-only features that alter data or metadata. + +If you enabled Percona-specific Data Compression (which modifies the actual `.ibd` data files on disk), a clean shutdown does not fix the incompatibility. Standard MySQL cannot read those compressed pages at all. Before migration you must use a logical dump (for example, mysqldump) and a fresh import into a MySQL CE instance; do not copy data files or attempt an in-place binary swap. + +## Summary of the "One-Way Door" Risk + +| Feature | Risk Level | Reversion Difficulty | +|---------|------------|----------------------| +| MyRocks | High | Requires full table conversion to InnoDB before dump. | +| Compressed columns / compression dictionaries | High | Cannot migrate to CE if tables use them; decompress or alter columns before dump. System tablespace changes may cause issues even when unused. | +| Enhanced encryption / specialized page compression / `fast_checksum` | High | These options alter data on disk; MySQL CE cannot read those pages. A logical dump from Percona (with the features active) then restore to CE is the only path. Do not copy data files or switch binaries in place. Remove Percona-only on-disk format options from config before bringing up CE. | +| Audit Log Plugin / Audit Log Filter / PAM / LDAP / Data Masking | Medium | Requires dropping or altering users, uninstalling plugins and components, and removing their configuration. | +| Configuration | Low | Requires manual cleanup of my.cnf. | +| Thread Pool | Low | Requires a simple configuration change back to default. | +| performance_schema / sys (Percona telemetry and diagnostic tables) | Medium | Orphaned metadata can collide during future CE minor-version upgrades. Use a logical dump/restore of user data only; do not dump/restore system schemas. | + +## Identifying Active Percona-Exclusive Features + +To see which Percona-exclusive features are currently active in your environment, run the following SQL commands. These queries target the specific incompatible components and metadata that would block a migration to MySQL Community Edition (CE). + +### Identify Active Exclusive Plugins + +The following query identifies active plugins only (not components). It returns Percona-exclusive plugins such as the Audit Log plugin, PAM/LDAP authentication, and MyRocks. + +```sql +SELECT PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_STATUS +FROM INFORMATION_SCHEMA.PLUGINS +WHERE PLUGIN_NAME IN ( + 'audit_log', + 'authentication_pam', + 'authentication_ldap_simple', + 'authentication_ldap_sasl', + 'ROCKSDB', + 'ROCKSDB_TRX', + 'ROCKSDB_LOCKS' +) AND PLUGIN_STATUS = 'ACTIVE'; + +``` + +### Identify Active Exclusive Components + +Percona-exclusive components (such as the Audit Log Filter, Data Masking, and keyring components) are registered in `mysql.component`. The following query lists installed components whose URN matches known Percona-only components. + +```sql +SELECT component_id, component_urn +FROM mysql.component +WHERE component_urn LIKE '%audit_log_filter%' + OR component_urn LIKE '%masking_functions%' + OR component_urn LIKE '%keyring_vault%' + OR component_urn LIKE '%keyring_kmip%' + OR component_urn LIKE '%keyring_kms%'; +``` + +### Check for MyRocks Storage Engine Usage + +MyRocks is a high-risk one-way door, so you must check whether any user tables use the engine. Those tables must be converted to InnoDB before a logical dump. + +```sql +SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE +FROM INFORMATION_SCHEMA.TABLES +WHERE ENGINE = 'RocksDB' +AND TABLE_SCHEMA NOT IN ('information_schema', 'sys', 'performance_schema', 'mysql'); + +``` + +### Identify Percona-Specific Authentication + +MySQL CE will not recognize users that use Percona's PAM or LDAP plugins. You must find these users and change their authentication method to `caching_sha2_password` before migrating. MySQL 9.x removes the server-side `mysql_native_password` plugin; MySQL 8.4 disables it by default. + +```sql +SELECT user, host, plugin +FROM mysql.user +WHERE plugin LIKE '%pam%' + OR plugin LIKE '%ldap%'; + +``` + +### Verify Thread Pool Status + +The thread pool code exists in Percona Server but is only a problem when actively configured. The following command shows whether the server is using Percona's scalable thread pool instead of the standard MySQL connection model. + +```sql +SHOW VARIABLES LIKE 'thread_handling'; +-- If the result is 'pool-of-threads', the Percona Thread Pool is active. + +``` + +### Check for Data Masking Components + +If you need to confirm Data Masking separately from the general components query above, run: + +```sql +SELECT * FROM mysql.component WHERE component_urn LIKE '%masking%'; +``` + +### Pre-Migration Sanitization Summary + +After you have identified these features, the reversion path typically involves the following actions: + +* For MyRocks tables: Run `ALTER TABLE ENGINE=InnoDB;`. + +* For PAM/LDAP users: Run `ALTER USER ''@'' IDENTIFIED WITH 'caching_sha2_password' BY '';`. + +* For active plugins: Run `UNINSTALL PLUGIN ;` and remove the matching `load_extension` or `plugin-load` entries from your `my.cnf` file. + +* For active components: Run `UNINSTALL COMPONENT '';` for each Percona-only component (for example, `'file://component_audit_log_filter'`, `'file://component_masking_functions'`, or keyring components). Remove the component from the server manifest or configuration so the component is not loaded on the next startup. + +To find Percona-specific variables in your configuration, search your `my.cnf` for the variable names listed in the [Percona Server system variables reference](percona-server-system-variables.md) and remove any that MySQL CE does not support. If even one Percona-only variable remains in the configuration file, MySQL CE will not start; the server exits at startup when it encounters an unknown system variable. + +## Pre-Migration Checklist + +| Category | Percona Feature to Disable/Remove | Community Alternative | +|----------|-----------------------------------|------------------------| +| Engine | MyRocks Storage Engine | Migrate to InnoDB | +| Engine | Compressed columns / compression dictionaries | Decompress or alter columns; no CE equivalent | +| Scaling | Scalable Thread Pool | Default connection handling | +| Auth | LDAP/PAM Authentication | caching_sha2_password | +| Audit | Percona Audit Log Plugin | Remove or uninstall | +| Audit | Audit Log Filter component | Uninstall component and remove configuration | +| Security | Data Masking component | Uninstall component | +| Security | Keyring components (Vault, KMIP, AWS KMS) | Uninstall; use CE file-based keyring if needed | +| Engine / Security | Enhanced encryption, specialized page compression, or `fast_checksum` | These alter data on disk; CE may not read those pages. Do not copy data files. Use logical dump from Percona (with features active), then restore to CE. Remove Percona-only on-disk format options from config for the CE instance. | +| Config | Percona-only log/slow-query variables | Remove from my.cnf (see system variables reference) | +| Config | Performance-specific innodb_ tweaks | Reset to upstream MySQL defaults for the target Community Edition release | +| Config | keyring_vault_config, keyring_vault_timeout | Remove from my.cnf | +| Other | UUID_VX and other Percona utility components | Uninstall component | +| System schemas | performance_schema / sys (Percona telemetry and diagnostic tables) | Do not dump or restore; let MySQL CE create clean schemas at startup. Dump and restore user data only. | diff --git a/docs/mysql-upgrade-paths.md b/docs/mysql-upgrade-paths.md index ef8fa87f1b5..cacf7304107 100644 --- a/docs/mysql-upgrade-paths.md +++ b/docs/mysql-upgrade-paths.md @@ -1,42 +1,95 @@ # MySQL upgrade paths and supported methods -MySQL supports different upgrade paths depending on the source and target versions. Choose the appropriate method based on your current version and target. +**Topic type**: Reference - +Percona Server for MySQL follows the upstream MySQL Long-Term Support (LTS) release cadence. Choose a supported upgrade path based on the source version, the target version, and the release model in use. -## Upgrade path matrix +## Before you choose a path -| Upgrade Path | Path Examples | Supported Upgrade Methods | +Confirm the following before you select a path or method: + +* Review the upstream [MySQL release model](https://dev.mysql.com/doc/refman/9.7/en/mysql-releases.html). LTS versions receive eight or more years of support and target production use. Percona Server for MySQL ships LTS releases only. + +* Take a verified physical backup with `xtrabackup` from Percona XtraBackup or a logical backup with `mysqldump`. Capture the `mysql` system database, the data directory, and the server configuration. The backup is the supported rollback path across an LTS boundary. + +* Run the [Upgrade Checker Utility](https://dev.mysql.com/doc/mysql-shell/9.7/en/mysql-shell-utilities-upgrade.html) in MySQL Shell. The `util.checkForServerUpgrade()` function reports incompatibilities you must fix before you upgrade. + +* Test query compatibility with `pt-upgrade` from Percona Toolkit. The tool replays a query workload against the source and the target server and reports behavioral differences. + +* Audit Percona-specific components before the upgrade. Verify a {{vers}}-compatible build exists for the audit log, data masking, keyring, and custom Structured Query Language (SQL) plugins. + +* Plan a maintenance window or a rolling upgrade that matches the method you select. + +!!! important "Plan for rollback" + A downgrade across an LTS boundary is not supported. Restore the pre-upgrade backup if you must roll back. Verify the backup is restorable before you start. For supported in-series downgrades, refer to [Downgrade options](./downgrade.md). + +## Identify a supported upgrade path + +The following table lists the supported paths from common source versions to {{vers}}. Bug-fix releases and hot fixes within an LTS series count as individual releases. + +| Upgrade path | Path examples | Supported methods | | --- | --- | --- | -| Within an LTS or Bugfix series | 8.0.37 to 8.0.41 or 8.4.0 to 8.4.4 | In-place upgrade, logical dump and load, replication, and MySQL Clone | -| From an LTS or Bugfix series to the next LTS series | 8.0.37 to 8.4.x LTS | In-place upgrade, logical dump and load, and replication | -| From an LTS or Bugfix release to an Innovation release before the next LTS series | 8.0.34 to 8.3.0 or 8.4.0 to 9.0.0 | In-place upgrade, logical dump and load, and replication | -| From the Innovation series to the next LTS series | 8.3.0 to 8.4 LTS | In-place upgrade, logical dump and load, and replication | -| From an Innovation series to an Innovation release after the next LTS series | Not allowed, two steps are required: 8.3.0 to 8.4 LTS, and 8.4 LTS to 9.x Innovation | In-place upgrade, logical dump and load, and replication | +| Upgrade within an LTS series | {{vers}}.0 to {{vers}}.x | In-place, logical dump and load, replication, MySQL Clone | +| Upgrade from one LTS series to the next LTS series | 8.4.x LTS to {{vers}} LTS | In-place, logical dump and load, replication | +| Migrate from upstream MySQL Innovation to a Percona Server LTS series | 9.x Innovation to {{vers}} LTS | In-place, logical dump and load, replication | +| Upgrade from MySQL 5.7 to a later LTS release | 5.7.x to 8.0.x to 8.4.x to {{vers}} | In-place, logical dump and load, replication | + +## Confirm path-specific constraints + +The following constraints affect path selection: + +* LTS series cannot be skipped. To upgrade from MySQL 5.7 to {{vers}}, upgrade to 8.0, then 8.4, then {{vers}}. + +* Land on the latest release in each LTS series before crossing to the next series. The trailing patches in each series carry the upgrade-readiness fixes the next series expects. + +* MySQL Clone applies only within the same release series. Use MySQL Clone for same-series provisioning, not as a cross-series upgrade method. + +* Replication is supported across most paths but enforces a strict source-version constraint. Refer to [Upgrade strategies](./upgrade-strategies.md) for the replicas-first rule. + +* An in-place upgrade requires a supported operating system on the source and target releases. Upgrade the operating system first if the current platform is not supported by {{vers}}. + +## Choose an upgrade method + +The following list compares the supported single-server methods: -## Key considerations +* An in-place upgrade replaces the server binaries against the existing data directory. The method delivers the shortest downtime for same-host upgrades and offers no fast rollback. -* **LTS to LTS**: Direct upgrade from 8.0 LTS to 8.4 LTS is supported with multiple methods. -* **Innovation to Innovation**: Cannot skip LTS releases; must upgrade through the LTS series first. -* **MySQL Clone**: Only available for upgrades within the same major version series. -* **Replication**: Available for most upgrade paths but requires careful planning for cross-version replication. +* A logical dump and load exports SQL from the source server and reloads the data into a fresh {{vers}} server. The method handles the broadest version skew and takes longer for large datasets. -## Choosing your upgrade method +* MySQL Clone copies a consistent physical snapshot from a donor to a recipient. The method requires the same major series and provisions replicas quickly. -* **In-place upgrade**: Fastest but highest risk; requires downtime. -* **Logical dump and load**: Cleanest but slowest for large datasets; requires downtime. -* **Replication**: Minimal downtime but requires additional infrastructure; good for high-availability setups. -* **MySQL Clone**: Fastest for same-series upgrades; requires compatible versions. +* A replication-based upgrade rolls each server in a topology through the rolling upgrade scheme. The method delivers the lowest downtime for high-availability (HA) deployments at the cost of additional infrastructure. + +For procedural detail, refer to [Upgrade procedures for {{vers}}](./upgrade-procedures.md) and [Upgrade strategies](./upgrade-strategies.md). + +## Upgrade replication topologies + +Upgrade a replication topology one server at a time under the rolling upgrade scheme. The scheme applies one of the supported single-server methods per server. + +Apply the following rules during a topology upgrade: + +* Upgrade replicas before the source. An older source can replicate to a later replica. A later source cannot replicate to an older replica. + +* Promote a fully upgraded replica to source after you upgrade every replica. The original source then becomes a replica. Upgrade the original source last. + +* Limit cross-source skew to one major version when a replica connects to multiple upstream sources. + +For complete guidance, refer to [Upgrade strategies](./upgrade-strategies.md) and the upstream [Upgrading or Downgrading a Replication Topology](https://dev.mysql.com/doc/refman/9.7/en/replication-upgrade.html) documentation. ## Further reading +The following Percona Server for MySQL pages cover related topics: + +* [Downgrade options](./downgrade.md) + +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) + +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) + +* [Upgrade from plugins to components](./upgrade-components.md) + * [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.md) + * [Upgrade procedures for {{vers}}](./upgrade-procedures.md) + * [Upgrade strategies](./upgrade-strategies.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) diff --git a/docs/percona-toolkit-9.7-updates.md b/docs/percona-toolkit-9.7-updates.md index f6ce4852cf4..8333cf55acd 100644 --- a/docs/percona-toolkit-9.7-updates.md +++ b/docs/percona-toolkit-9.7-updates.md @@ -1,39 +1,102 @@ # Percona Toolkit updates for {{vers}} -Percona Toolkit has been updated to support MySQL {{vers}}, addressing terminology, deprecations, and authentication improvements. If your automation or runbooks use these tools, plan updates alongside the database upgrade. +Percona Toolkit is updated to support MySQL {{vers}}. The updates address terminology, deprecations, and authentication improvements. If your automation or runbooks use these tools, plan toolkit updates with the database upgrade. + +For underlying Percona Toolkit guidance, see [Percona Toolkit Documentation :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/index.html). + +## Required Percona Toolkit version + +Use Percona Toolkit 3.7.0 or later when working with {{vers}}. The 3.7.0 series added support for MySQL 8.4 client libraries. Later 3.7.x releases extend the data source name (DSN) Secure Sockets Layer (SSL) options and address security advisories. + +Take the following actions. + +* Confirm that each deployed tool reports version 3.7.0 or higher when invoked with `--version`. + +* For first-time installations, install the most recent 3.7.x release available in the Percona repositories. + +* Track the [Percona Toolkit release notes :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/release_notes.html) for security and compatibility updates. + +## Tools relevant to a {{vers}} upgrade + +The following table maps upgrade phases to Percona Toolkit tools that support each phase. + +| Phase | Tool | Purpose | +|---|---|---| +| Pre-upgrade snapshot | `pt-mysql-summary` | Capture the source server state for baseline and triage | +| Pre-upgrade snapshot | `pt-show-grants` | Export user accounts and privileges as portable SQL | +| Configuration audit | `pt-config-diff` | Compare `my.cnf` settings across source, target, and replicas | +| Query compatibility | `pt-upgrade` | Replay source logs against the {{vers}} candidate. Report row, warning, and timing differences | +| Schema preparation | `pt-online-schema-change` | Apply column or index changes online before the upgrade window | +| Replication consistency | `pt-table-checksum` | Compute consistency checksums on the source and replicas | +| Replication reconciliation | `pt-table-sync` | Reconcile rows after `pt-table-checksum` reports drift | +| Replication topology | `pt-replica-find` | Discover the topology before each rolling-upgrade step | +| Replication recovery | `pt-replica-restart` | Restart replication after recoverable errors | +| Incident response | `pt-stalk` | Collect diagnostic data on upgrade-related issues | ## Terminology alignment -* Toolkit commands and output now use SOURCE/REPLICA terminology consistent with MySQL {{vers}}. +Toolkit commands and output use SOURCE and REPLICA terminology, consistent with MySQL {{vers}}. ## Renamed tools -* `pt-slave-find` → `pt-replica-find` -* `pt-slave-restart` → `pt-replica-restart` +The following tools are renamed. -Aliases with the old names remain for a transition period; update scripts and runbooks to the new names. +* `pt-slave-find` is renamed to `pt-replica-find`. + +* `pt-slave-restart` is renamed to `pt-replica-restart`. + +The rename landed in Percona Toolkit 3.5.0. Aliases with the original names remain for a transition period. Update scripts and runbooks to the renamed tools. ## Deprecated tool -* `pt-slave-delay` is deprecated and does not support MySQL {{vers}}. Use built-in delayed replication features instead. +`pt-slave-delay` is deprecated and does not support MySQL {{vers}}. Use built-in delayed replication instead. + +To configure delayed replication, run the following statement against the replica. + +```sql +CHANGE REPLICATION SOURCE TO SOURCE_DELAY = ; +``` + +Combine `SOURCE_DELAY` with `START REPLICA` to apply or resume the delay. The setting persists across replica restarts. ## Authentication and SSL -* Enhanced SSL/TLS handling and improved support for `caching_sha2_password` and `sha256_password` authentication plugins. +The following authentication and SSL updates apply to recent Percona Toolkit releases. + +* SSL and Transport Layer Security (TLS) handling is improved. Tools accept SSL options through the DSN field. + +* Support for the `caching_sha2_password` and `sha256_password` authentication plugins is improved. + +* For {{vers}}, configure clients to use `caching_sha2_password` because the server-side `mysql_native_password` plugin is removed. ## What to change in your environment -* Update automation and scripts: replace `pt-slave-find` with `pt-replica-find`, and `pt-slave-restart` with `pt-replica-restart`. -* Remove dependencies on `pt-slave-delay`; use native delayed replication features instead. -* Validate Toolkit connectivity using your TLS settings and modern authentication plugins. +Apply the following changes when upgrading to {{vers}}. + +* Upgrade Percona Toolkit to 3.7.0 or higher before starting the database upgrade. + +* Remove dependencies on `pt-slave-delay`. Replace the dependency with built-in delayed replication. + +* Update automation and scripts. Replace `pt-slave-find` with `pt-replica-find`, and replace `pt-slave-restart` with `pt-replica-restart`. + +* Validate toolkit connectivity using your TLS settings and supported authentication plugins. + +* For each tool used in production, run `--version` and confirm the output matches the deployed release. ## Further reading -* [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) -* [Upgrade procedures for {{vers}}](./upgrade-procedures.md) -* [Upgrade strategies](./upgrade-strategies.md) +The following Percona Server for MySQL pages cover upgrade-related topics. + +* [Downgrade options](./downgrade.md) + * [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) + +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) + * [Upgrade from plugins to components](./upgrade-components.md) -* [Downgrade options](./downgrade.md) +* [Upgrade overview](./upgrade.md) + +* [Upgrade procedures for {{vers}}](./upgrade-procedures.md) + +* [Upgrade strategies](./upgrade-strategies.md) diff --git a/docs/upgrade-checklist-9.7.md b/docs/upgrade-checklist-9.7.md index 61fd16735d2..c6dbf706e69 100644 --- a/docs/upgrade-checklist-9.7.md +++ b/docs/upgrade-checklist-9.7.md @@ -1,124 +1,334 @@ # Upgrade checklist for {{vers}} -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. +**Topic type**: Task + +Thorough preparation reduces upgrade risk more than any cutover tactic. Use the following checklist to guide your upgrade from 8.4 Long-Term Support (LTS) to {{vers}}. Validate each item in staging before upgrading production. + +For underlying MySQL guidance, see [Upgrading MySQL :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading.html). ## Pre-upgrade checks -Complete these checks before starting the upgrade process. +Complete the following checks before starting the upgrade. + +### Review changes in {{vers}} + +Read the release notes and the canonical change lists before any other action. The lists identify deprecations and removals that may force application changes. + +Take the following actions: + +* [ ] Read [What Is New in MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-nutshell.html). Identify deprecations and removals that affect your workload. + +* [ ] Read the [MySQL {{vers}} Release Notes :octicons-link-external-16:](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) for fixes and behavior changes. + +* [ ] Read the [Percona Server for MySQL {{vers}} Release notes :octicons-link-external-16:](https://docs.percona.com/percona-server/latest/release-notes/release-notes_index.html). + +* [ ] Read [Server and Status Variables and Options Added, Deprecated, or Removed in MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/added-deprecated-removed.html). + +### Verify your backup + +A verified backup is the only supported fallback. {{vers}} does not support downgrades between releases or below 8.4 LTS. + +Take the following actions: + +* [ ] Take a hot backup with Percona XtraBackup. Include the `mysql` system database, the data dictionary, and system tables. + +* [ ] Verify the backup by restoring into a clean test environment. Validate startup and table access. + +* [ ] Document restore steps and timings. Confirm the runbook with approvers. + +* [ ] See [Backup and restore overview](./backup-restore-overview.md). + +### Check upgrade compatibility + +Run an automated incompatibility scan before any other action. Resolve every issue the scan reports. + +Take the following actions: + +* [ ] Run the MySQL Shell upgrade checker utility (`util.checkForServerUpgrade()`) against the source server. Target {{vers}} as the destination. + +* [ ] Resolve all reported issues. Re-run the utility until the report is clean. + +* [ ] Repeat the check after schema changes during preparation. + +### Validate schema and data-dictionary readiness + +The data-dictionary upgrade fails if specific schema problems exist. Validate the source server using the following commands and queries. + +Take the following actions: + +* [ ] Run `mysqlcheck -u root -p --all-databases --check-upgrade`. Resolve every reported error. + +* [ ] Confirm no tables use obsolete data types or functions. + +* [ ] Confirm no orphan `.frm` files remain in the data directory. + +* [ ] Confirm every trigger has a valid definer and creation context. Inspect the trigger attributes through `SHOW TRIGGERS` or `INFORMATION_SCHEMA.TRIGGERS`. Verify `character_set_client`, `collation_connection`, and `Database Collation`. Dump and restore any trigger that fails the check. + +* [ ] Identify partitioned tables on engines without native partitioning. Convert each table to InnoDB, or remove partitioning, before upgrading. + + ```sql + SELECT TABLE_SCHEMA, TABLE_NAME + FROM INFORMATION_SCHEMA.TABLES + WHERE ENGINE NOT IN ('innodb', 'ndbcluster') + AND CREATE_OPTIONS LIKE '%partitioned%'; + ``` + +* [ ] Confirm no foreign key constraint name exceeds 64 characters. Drop and recreate any over-length constraint with a shorter name. + +* [ ] Confirm no view defines explicit column names longer than 64 characters. + +* [ ] Confirm no `ENUM` or `SET` column element exceeds 255 characters or 1020 bytes. + +* [ ] Confirm no table in the `mysql` system database collides with a {{vers}} data dictionary table name. + +* [ ] Confirm `sql_mode` contains no obsolete Structured Query Language (SQL) modes. Obsolete modes block server start on {{vers}}. + +### Rebuild flagged tables + +Some upgrades require table rebuilds. Rebuilds correct collation issues, refresh character-set indexes, or repair corruption that `CHECK TABLE` reports. + +Take the following actions: + +* [ ] If `mysqlcheck` or `CHECK TABLE` reports that a table requires an upgrade, rebuild the table. + +* [ ] For InnoDB tables flagged for upgrade, use the dump and reload method. Dump with `mysqldump` on the source release. Reload with `mysql` after the upgrade. + +* [ ] For MyISAM, ARCHIVE, or CSV tables, run `REPAIR TABLE` or `mysqlcheck --repair` on the source release. + +* [ ] For collation or character-set changes that affect indexes, rebuild the table with `ALTER TABLE ENGINE = `. Use the existing engine value. + +* [ ] See [Rebuilding or Repairing Tables or Indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/rebuilding-tables.html) for details. + +### Audit reserved keywords in identifiers + +Additional reserved words can break schemas and queries. Examples include `MANUAL`, `PARALLEL`, `QUALIFY`, and `TABLESAMPLE`. + +Take the following actions: + +* [ ] Scan object names and queries for unquoted usage. Quote or rename as needed. + +* [ ] See [Keywords and Reserved Words in MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keywords.html) for the complete list. + +### Migrate authentication and connectivity + +Impact: The server-side `mysql_native_password` authentication plugin is removed in {{vers}}. The `default_authentication_plugin` system variable, the `--mysql-native-password` server option, and the `--mysql-native-password-proxy-users` server option are also removed. Accounts created in {{vers}} default to `caching_sha2_password`. The client-side `mysql_native_password` plugin remains for backward compatibility with older clients. + +Take the following actions: + +* [ ] Inventory accounts and applications that still use `mysql_native_password`. + +* [ ] Verify that drivers and clients support `caching_sha2_password` and Transport Layer Security (TLS) as configured. + +* [ ] Plan account migration to `caching_sha2_password`. + +* [ ] Migrate every `mysql_native_password` account before you upgrade. {{vers}} provides no server-side option to re-enable the removed plugin. + +* [ ] See [Authentication methods](./authentication-methods.md). + +### Update replication syntax and operational scripts + +Impact: `MASTER` and `SLAVE` syntax is removed and causes syntax errors. Use `SOURCE` and `REPLICA` commands. + +Take the following actions: + +* [ ] Search for and update scripts that use `START REPLICA`, `SHOW REPLICA STATUS`, and `CHANGE REPLICATION SOURCE TO`. -### Authentication and connectivity +* [ ] Validate Orchestrator and other high-availability (HA) tooling versions for {{vers}} syntax. -**Impact**: `mysql_native_password` is disabled by default in {{vers}}; `default_authentication_plugin` is removed. New accounts default to `caching_sha2_password`. The `mysql_native_password` plugin can still be loaded using `--mysql-native-password=ON` if needed, but it will be completely removed in the MySQL 9.x series. +* [ ] Update Percona Toolkit calls. Replace `pt-slave-find` with `pt-replica-find`. Replace `pt-slave-restart` with `pt-replica-restart`. Remove `pt-slave-delay` usage. -**Action**: +* [ ] For replication topologies, plan a rolling upgrade. Apply a single-server method to each server in turn. -- [ ] Inventory accounts and applications that still use `mysql_native_password`. -- [ ] Verify drivers/clients support `caching_sha2_password` and TLS as configured. -- [ ] Plan account migration to `caching_sha2_password`. If temporary compatibility is needed, `--mysql-native-password=ON` can be used, but plan migration as this plugin will be removed in future versions. -- [ ] See: [authentication methods](./authentication-methods.md) +* [ ] See [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md). -### Replication and operational scripts +### Replace removed features and variables -**Impact**: MASTER/SLAVE syntax is removed and will cause syntax errors if used; use SOURCE/REPLICA commands. +Impact: Several legacy statements, status counters, variables, and functions are removed in {{vers}}. -**Action**: +Take the following actions: -- [ ] 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-9.7-updates.md) +* [ ] Migrate from `expire_logs_days` to `binlog_expire_logs_seconds`. -### Removed features and variables +* [ ] Remove dependencies on built-in memcached variables and APIs. -**Impact**: Several legacy statements, status counters, variables, and functions are removed in {{vers}}. +* [ ] Replace `WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()` with `WAIT_FOR_EXECUTED_GTID_SET()`. -**Action**: +* [ ] Replace `MASTER` and `SLAVE` statements and counters with `SOURCE` and `REPLICA` equivalents. -- [ ] Replace MASTER/SLAVE statements and counters with SOURCE/REPLICA equivalents. -- [ ] 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. +* [ ] Audit `my.cnf` for removed startup options and system variables. Update or delete the entries. -### Reserved keywords in identifiers +### Resolve schema constraint violations -**Impact**: New reserved words (for example, `MANUAL`, `PARALLEL`, `QUALIFY`, `TABLESAMPLE`) can break schemas and queries. +Impact: `AUTO_INCREMENT` is not allowed on `FLOAT` or `DOUBLE` columns. -**Action**: +Take the following actions: -- [ ] Scan object names and queries for unquoted usage; quote or rename as needed. -- [ ] See: [Keywords and Reserved Words in MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keywords.html) for the complete list of reserved keywords. +* [ ] Identify any `FLOAT` or `DOUBLE` `AUTO_INCREMENT` columns. Convert the columns to integer types before the upgrade. +### Shut down the source server cleanly -### Schema constraints +Impact: An in-place upgrade requires a clean shutdown of the source server with redo logs flushed. -**Impact**: `AUTO_INCREMENT` is not allowed on `FLOAT`/`DOUBLE`. +Take the following actions: -**Action**: +* [ ] Set `innodb_fast_shutdown=0` and stop the source server through your service manager. -- [ ] Identify and convert any `FLOAT`/`DOUBLE` `AUTO_INCREMENT` columns to integer types prior to upgrade. +* [ ] If the source server crashed, restart on the source release. Perform a clean shutdown before retrying the upgrade. -### Backup and recovery rehearsal +* [ ] Confirm no leftover redo log files block restart on the source release. -**Action**: +### Confirm operating system support -- [ ] Take a hot backup with Percona XtraBackup; document restore steps and timings. -- [ ] Restore into a clean {{vers}} environment; validate startup and metadata upgrade. -- [ ] See: [Backup and restore overview](./backup-restore-overview.md) +Impact: An in-place upgrade requires a {{vers}}-supported operating system. Mismatched platforms force a side-by-side migration. -### Behavior comparison and testing +Take the following actions: -**Action**: +* [ ] Confirm that the host distribution version is supported for {{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. +* [ ] If the host needs an operating system upgrade, plan a side-by-side migration with cutover. See [Upgrade strategies](./upgrade-strategies.md). -### Rollback feasibility +### Compare behavior and run tests -**Action**: +Behavioral parity between releases reduces post-upgrade incident risk. Compare query plans, smoke-test the application, and run the source and target in parallel. -- [ ] 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. +Take the following actions: + +* [ ] Restore production data into a {{vers}} test server. Run application smoke tests against the server. + +* [ ] Use `pt-upgrade` to compare query plans and behavior between 8.4 and {{vers}}. + +* [ ] Run load tests at production scale. Capture latency, throughput, and resource use. + +* [ ] Run the source and target releases in parallel during the test phase. + +### Capture performance baselines + +Pre-upgrade baselines define the comparison set for post-upgrade validation. Record latency, throughput, processor, and input/output (IO) measurements before any binary change. + +Take the following actions: + +* [ ] Capture latency, throughput, and processor and IO baselines on the source release. + +* [ ] Document expected regression sources for follow-up investigation. Examples include optimizer changes, character-set changes, stronger encryption, stronger authentication, and additional memory. + +### Confirm rollback feasibility + +A documented rollback path is the supported fallback when an upgrade fails. Define the path and confirm the runbook before the maintenance window opens. + +Take the following actions: + +* [ ] Define a rollback path. For example, retain the source environment on standby. Validate point-in-time recovery into a source-compatible reader if applicable. + +* [ ] Confirm cutover and rollback runbooks with approvers. ## Post-upgrade validation -Run these checks immediately after upgrading from 8.4 to {{vers}} and before widening traffic. +Run the following checks immediately after upgrading to {{vers}} and before widening traffic. + +### Verify connectivity and authentication + +Authentication defaults change in {{vers}}. Confirm that service accounts and external clients connect with the {{vers}} defaults before widening traffic. + +Take the following actions: + +* [ ] Confirm that accounts created after the upgrade default to `caching_sha2_password`. + +* [ ] Verify application logins for every service account. + +* [ ] Verify TLS handshakes for every external client. + +### Verify replication health (if applicable) + +Replication threads and topology coordination must restart cleanly after the upgrade. Validate thread state, failover, and Global Transaction Identifier (GTID) consistency across the topology. + +Take the following actions: + +* [ ] Confirm that `SHOW REPLICA STATUS` reports healthy IO and SQL threads. + +* [ ] Exercise planned failover and change-source procedures. + +* [ ] Validate GTID state across the topology. + +### Restore spatial indexes + +Re-create and verify any spatial indexes that you dropped during preparation. + +Take the following actions: + +* [ ] Re-create any spatial indexes that you dropped before the upgrade. + +* [ ] Run integrity checks. Use `CHECK TABLE ... EXTENDED` and representative spatial queries to verify index health. -### Connectivity and authentication +### Reload time zone data -- [ ] Verify application logins for every service account. -- [ ] Confirm new account creations default to `caching_sha2_password` as expected. +The upgrade does not refresh time zone tables. Reload the tables if your applications depend on time zone names. -### Replication health (if applicable) +Take the following actions: -- [ ] Confirm `SHOW REPLICA STATUS` reports healthy IO/SQL threads. -- [ ] Exercise planned failover and change-source procedures. +* [ ] Reload time zone tables with `mysql_tzinfo_to_sql`. -### Spatial indexes + ```shell + mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql + ``` -- [ ] Re-create any spatial indexes dropped pre-upgrade. -- [ ] Run integrity checks (for example, `CHECK TABLE ... EXTENDED`) and representative spatial queries to verify index health. +* [ ] Verify that `SELECT @@time_zone;` and named time zone queries return expected values. -### Workload and performance baselines +### Validate language interfaces and connectors -- [ ] 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. +Client libraries and application drivers must match the {{vers}} authentication and protocol defaults. -### Logs and observability +Take the following actions: -- [ ] Review error logs and warnings post-startup and during smoke tests. -- [ ] Inspect Performance Schema metrics and application SLOs for regressions. +* [ ] Rebuild language bindings against {{vers}} client libraries. Examples include the Perl `DBD::mysql` module and PHP MySQL extensions. -### Backup and recovery +* [ ] Update application drivers to releases that support `caching_sha2_password`. -- [ ] Take a fresh full backup with Percona XtraBackup. -- [ ] Optionally perform a spot restore test to validate recovery on {{vers}}. +* [ ] Run application unit and integration tests against the upgraded server. + +### Compare workload and performance baselines + +Post-upgrade baseline comparison surfaces regressions caused by {{vers}} default changes. Re-run the baseline workload and review the {{vers}} defaults. + +Take the following actions: + +* [ ] Re-run baseline queries and workload tests. Compare latency and throughput against the pre-upgrade baseline. + +* [ ] Review changes in {{vers}} defaults that can affect performance. Examples include optimizer and costing, redo and undo, and IO settings. Tune as needed. + +### Review logs and observability + +Server error logs and observability dashboards expose startup problems and post-upgrade regressions. + +Take the following actions: + +* [ ] Inspect Performance Schema metrics and Service-Level Objectives (SLO) dashboards for regressions. + +* [ ] Review error logs and warnings after startup and during smoke tests. + +### Validate backup and recovery + +A fresh backup on the upgraded release confirms recovery on {{vers}}. The fresh backup replaces the pre-upgrade backup as the operational baseline. + +Take the following actions: + +* [ ] Optionally, perform a spot restore test to validate recovery on {{vers}}. + +* [ ] Take a fresh full backup with Percona XtraBackup once the server is stable. ## Further reading +The following Percona Server for MySQL pages cover upgrade-related topics: + +* [Downgrade options](./downgrade.md) + +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) + +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) + +* [Upgrade from plugins to components](./upgrade-components.md) + * [Upgrade overview](./upgrade.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) -* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) diff --git a/docs/upgrade-components.md b/docs/upgrade-components.md index 5901bbc85c0..a15abe5f6ab 100644 --- a/docs/upgrade-components.md +++ b/docs/upgrade-components.md @@ -1,86 +1,174 @@ -# Upgrade from plugins to components +# Upgrade from plugins to components -[Need help navigating plugin to component transitions? Percona Support can assist :octicons-link-external-16:](https://www.percona.com/services/support). +**Topic type**: Task -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. +[Need help with plugin to component transitions? Percona Support can assist :octicons-link-external-16:](https://www.percona.com/services/support). - +Percona Server for MySQL continues to shift several key features from plugins to components. The shift requires a manual transition during the upgrade. If a feature has both a plugin and a component, transition to the component before upgrading to {{vers}}. -The following plugins have changed: +For underlying MySQL guidance, see [Installing and Uninstalling Components :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/component-loading.html). -| Plugin | 8.0 information | {{vers}} changes | Notes | +## Plugins moving to components in {{vers}} + +The following table lists the affected plugins. + +| Plugin | Status before {{vers}} | {{vers}} state | Notes | |---|---|---|---| -| `keyring_vault` | Only available as a plugin | `component_keyring_vault` | This plugin has been replaced by the `component_keyring_vault` component. The upgrade requires a manual conversion of the plugin's configuration file from the `keyring_vault_config` system variable format to a JSON format. | -| `audit_log` | Only available as a plugin | a deprecated plugin added in 8.4.7-7 | The recommended replacement is `component_audit_log_filter`. | -| `audit_log_filter` | Only available as a plugin | `component_audit_log_filter` | This plugin has a corresponding component. The transition to the component should be performed after the upgrade to {{vers}}. | -| `data_masking` | Available as a plugin and component | `component_masking_functions` | For this feature, it is specifically advised to transition to the `component_masking_functions` in the 8.0 series before upgrading to {{vers}}. | -| `binlog_utils_udf` and `percona-udf` user defined functions | Previously installed via a plugin. Users must install the plugin and then run `CREATE FUNCTION ... SONAME ...` for each function. | `component_binlog_utils_udf` and `component_percona_udf` | These user-defined functions, previously installed via plugins, are now available as components. After running `INSTALL COMPONENT`, all functions are automatically registered, which simplifies the process. | +| `keyring_vault` | Available only as a plugin | `component_keyring_vault` | The plugin is replaced by the `component_keyring_vault` component. Convert the configuration from the `keyring_vault_config` system variable format to JavaScript Object Notation (JSON) manually. | +| `audit_log` | Available only as a plugin | A deprecated plugin re-added in 8.4.7-7 | The recommended replacement is `component_audit_log_filter`. | +| `audit_log_filter` | Available only as a plugin | `component_audit_log_filter` | The plugin has a corresponding component. Transition to the component after upgrading to {{vers}}. | +| `data_masking` | Available as both a plugin and a component | `component_masking_functions` | Transition to `component_masking_functions` before upgrading to {{vers}}. | +| `binlog_utils_udf` and `percona-udf` user-defined functions | Installed via a plugin. The plugin install requires `CREATE FUNCTION ... SONAME ...` for each function. | `component_binlog_utils_udf` and `component_percona_udf` | User-defined functions are available as components in {{vers}}. After `INSTALL COMPONENT`, all functions register automatically. | + +## How components differ from plugins + +The component framework supersedes the legacy plugin model with several practical advantages. Review the following differences before planning a transition. +| Property | Plugins | Components | +|---|---|---| +| Loading statement | `INSTALL PLUGIN SONAME '.'` | `INSTALL COMPONENT 'file://'`, or a manifest file for keyring components | +| Library path | Requires the platform-specific filename suffix | The component identifier omits the suffix and works across platforms | +| Registration | The `mysql.plugin` system table | The `mysql.component` system table | +| Configuration | System variables and `--early-plugin-load` | A component-specific configuration file, plus a JSON manifest for keyring components | +| Replication scope | The `INSTALL PLUGIN` statement is not replicated | Component installation is local to one server. Run the install on every server in the topology | +| Loadable functions | Each function requires `CREATE FUNCTION ... SONAME ...` | The component installs related loadable functions automatically | ## Transition a plugin to a component -The operation to transition from a plugin to a component can be complicated. Always test the migration in a staging environment before applying the changes to the production servers. To ensure there is minimal interruption, the key preparation steps are the following: +The transition from a plugin to a component can be complicated. Always test the migration in a staging environment before applying changes to production. To minimize interruption, complete the following key preparation steps: + +* Build a comprehensive testing strategy. + +* Plan for downtime. + +* Verify that existing functionality transfers correctly. + +Before starting, review the differences between the plugin and the component. Configuration differs between the two models. + +### Identify the loading mechanism + +The component determines which of two loading mechanisms applies: + +* Most components load at runtime with the `INSTALL COMPONENT` statement. The loader service registers the component in `mysql.component` and reloads the component on subsequent restarts. + +* Keyring components require a JSON manifest file named `mysqld.my`. The manifest must be in place before server start. The keyring must initialize before the InnoDB storage engine. + +For details on the keyring requirement, see [Keyring Component Installation :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html). + +### Load a runtime-loaded component + +The following steps cover components loaded with the `INSTALL COMPONENT` statement. + +1. Create the component configuration file. Refer to the component documentation for required keys. + +2. Load the component with `INSTALL COMPONENT 'file://'`. + +3. Confirm that the component works in your staging environment. Run queries or operations that exercised the prior plugin. + +4. After confirmation, remove the original plugin with `UNINSTALL PLUGIN `. + +Plan the procedure to minimize downtime. Confirm that prior functionality transfers cleanly to the component. + +### Configure the manifest file for keyring components + +Keyring components do not load with `INSTALL COMPONENT`. The server reads a manifest file at startup and loads the named component before InnoDB initializes. + +!!! important "Restart required" + + Manifest-loaded keyring components register only at server startup. Plan a restart window before deploying the manifest file. + +Take the following actions: + +* Create a global manifest file at `/mysqld.my`. Optionally, redirect the global file to a local file in the data directory. -* Plan for downtime +* Use JSON content that names the component to load. For example: -* Create a comprehensive testing strategy + ```json + { + "components": "file://component_keyring_vault" + } + ``` -* Verify that the existing functionality transfers correctly +* Restrict file permissions. The `mysqld` user account must have read-only access to the manifest. -Before you start, review the differences between the plugin and the component. The configuration of these features changes: plugins use system variables and the `--early-plugin-load` option, while components rely on a separate configuration file and are loaded using a manifest. +* Restart the server. Verify that the component initialized successfully. -### General procedure +For per-instance manifests, set `"read_local_manifest": true` in the global file. Place the `components` entry in the local file under the data directory. -The general procedure for transitioning from a plugin to a component involves: +### Verify the component is loaded -1. Setup the component's configuration file. +Use the following queries to confirm component state after server start: -2. Load the component using the manifest (`INSTALL COMPONENT` or manifest file, as applicable). +* For keyring components, query the Performance Schema status table. -3. Confirm that the component works. Thoroughly test the component's functionality in your staging environment. Run queries or other operations to verify all existing functionality is correctly transferred. + ```sql + SELECT * FROM performance_schema.keyring_component_status; + ``` -4. After confirmation, remove the original plugin. + A `Component_status` value of `Active` indicates a healthy initialization. A value of `Disabled` indicates a configuration problem. Check the server error log, fix the configuration, then run `ALTER INSTANCE RELOAD KEYRING`. -This process should be carefully planned to minimize downtime and ensure that all existing functionality is correctly transferred. +* For runtime-loaded components, query the `mysql.component` system table. -### Transition timing + ```sql + SELECT component_id, component_group_id, component_urn FROM mysql.component; + ``` -The timing of the transition depends on the specific plugin: +* To confirm the legacy plugin is no longer loaded, run `SHOW PLUGINS` and verify the plugin row is absent. -* **Transition before upgrade**: For plugins that have both plugin and component versions available in 8.0 (for example, `data_masking`), transition to the component in 8.0 before upgrading to {{vers}}. +### Choose the transition timing -* **Transition after upgrade**: For plugins that only exist as plugins in 8.0 but have component equivalents in {{vers}} (for example, `audit_log_filter`, `keyring_vault`), you must upgrade to {{vers}} first, then transition to the component. The general procedure for these cases is: +The transition timing depends on the plugin. The following sub-sections describe the two paths. - 1. Test the plugin functionality in 8.0 to establish a baseline. +#### Transition before the upgrade - 2. Stop the service and upgrade to {{vers}}. +Transition to the component before upgrading to {{vers}} when your release exposes both forms. The `data_masking` plugin and the `component_masking_functions` component fit this case. - 3. Review and adjust configurations as needed (for example, convert `keyring_vault_config` system variable to JSON format for the component). +#### Transition after the upgrade - 4. Start the new {{vers}} server. +Some features exist only as plugins in your existing release. Examples include `audit_log_filter` and `keyring_vault`. Upgrade to {{vers}} first, then transition to the component using the following sequence. - 5. Transition to the component following the general procedure above. +1. Test the plugin functionality to establish a baseline. - 6. Verify the component works correctly in {{vers}}. +2. Stop the service and upgrade to {{vers}}. + +3. Review and adjust configurations. For example, convert the `keyring_vault_config` system variable to JSON for the component. + +4. Start the {{vers}} server. + +5. Apply the loading mechanism for the component (`INSTALL COMPONENT` or a manifest file). + +6. Verify the component with the queries in [Verify the component is loaded](#verify-the-component-is-loaded). ## Further reading +The following Percona Server for MySQL pages cover related topics: + +* [Downgrade options](./downgrade.md) + +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) + +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) + +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) + * [Upgrade overview](./upgrade.md) -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.md) + * [Upgrade procedures for {{vers}}](./upgrade-procedures.md) + * [Upgrade strategies](./upgrade-strategies.md) -* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.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) ### Component-specific documentation +The following pages describe specific components: + +* [Audit Log Filter component overview](./audit-log-filter-overview.md) + * [Install a component](./install-component.md) + +* [Install Data Masking component](./install-data-masking-component.md) + +* [Manage Audit Log Filter](./manage-audit-log-filter.md) + * [Uninstall a component](./uninstall-component.md) + * [Use Keyring Vault component](./use-keyring-vault-component.md) -* [Install Data Masking component](./install-data-masking-component.md) -* [Audit Log Filter component overview](./audit-log-filter-overview.md) -* [Manage Audit Log Filter](./manage-audit-log-filter.md) \ No newline at end of file diff --git a/docs/upgrade-procedures.md b/docs/upgrade-procedures.md index 6bb259c9a78..ebf1d14697c 100644 --- a/docs/upgrade-procedures.md +++ b/docs/upgrade-procedures.md @@ -1,53 +1,86 @@ # Upgrade procedures for {{vers}} -[Need expert guidance for your Percona Server upgrade? Percona Support is here to help :octicons-link-external-16:](https://www.percona.com/services/support). +**Topic type**: Task -This document provides step-by-step procedures for upgrading Percona Server for MySQL using either Percona repositories (recommended) or standalone packages. +[Need expert guidance for your Percona Server upgrade? Percona Support can help :octicons-link-external-16:](https://www.percona.com/services/support). -Before beginning the upgrade process: +Use the following procedures to upgrade Percona Server for MySQL. The procedures cover Percona repositories (recommended), standalone packages, and both in-place and logical paths. For underlying MySQL guidance, see [Upgrading MySQL Binary or Package-based Installations on Unix/Linux :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-binary-package.html). -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: +!!! warning "Critical" - ```shell - sudo systemctl stop mysql + Always test the upgrade in a non-production environment first. For detailed procedures or troubleshooting, contact our [Percona Support team :octicons-link-external-16:](https://www.percona.com/services/support). + +## Choose an upgrade method + +Two methods apply to most {{vers}} environments. Use the following table to choose the method that matches your downtime budget and data size. + +| Method | Description | Downtime | Best for | +|---|---|---|---| +| In-place | Stop the source server, replace binaries or packages, then restart on the existing data directory | Short, equal to restart and metadata upgrade time | Same-platform upgrades within Percona Server for MySQL | +| Logical | Export SQL from the source server, install {{vers}} on a clean target, then load the dump | Long, scaled to data size | Cross-platform moves, storage-engine consolidations, or dump-based reorganizations | + +For a parallel environment with controlled cutover, see [Upgrade strategies](./upgrade-strategies.md). + +## Prepare for the upgrade + +Complete the following pre-flight steps before any procedure on this page. + +1. Complete the pre-upgrade items in the [upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md). + +2. Create a full backup or dump of your database. Verify the backup by restoring into a clean test environment. + +3. Save a copy of the database configuration file (`my.cnf`) to a safe location. + +4. Edit the configuration file before stopping the server. For example, remove deprecated variables and update settings for {{vers}}. + +5. Run `XA RECOVER` against the source server. Commit or rollback any uncommitted XA transactions before continuing. + + ```sql + XA RECOVER; ``` -!!! warning "Critical" +6. If `innodb_fast_shutdown` is set to `2` (cold shutdown), reset to `1` or `0` before stopping. A fast or slow shutdown leaves InnoDB undo logs and data files in a state that is safe across releases. + + ```sql + SET GLOBAL innodb_fast_shutdown = 0; + ``` + +7. Stop the server with the appropriate command for your system. - Always test the upgrade process in a non-production environment first. For detailed upgrade procedures or if you encounter any issues during this process, our [Percona Support team :octicons-link-external-16:](https://www.percona.com/services/support) is available to assist you. + ```shell + sudo systemctl stop mysql + ``` -## Using Percona repositories (recommended) +If your prior installation comprises multiple Red Hat Package Manager (RPM) packages, upgrade every related package together. A partial upgrade leaves mismatched binaries. -We recommend using the Percona repositories to upgrade your server. This method automatically handles dependencies and simplifies the upgrade process. +## Upgrade with Percona repositories (recommended) -Find the instructions on how to enable the repositories in the following documents: +The Percona repositories handle dependencies automatically and reduce upgrade complexity. The following documents describe how to enable the repositories: * [Percona APT Repository](./apt-repo.md) + * [Percona RPM Repository](./yum-repo.md) === "DEB-based distributions" - Run the following commands as root or use the `sudo` command. + Run the following commands as root or with `sudo`. + + 1. Create a full backup or dump of your database. Save a copy of the database configuration file, `my.cnf`, to another directory. Without a backup, the upgrade may overwrite the file. - 1. Make a full backup (or dump if possible) of your database. Copy the database configuration file, `my.cnf`, to another directory as a backup. If the configuration file is not backed up, it may be overwritten during the upgrade. + 2. Stop the server with the appropriate command for your system. - 2. Stop the server with the appropriate command for your system: - ```shell sudo systemctl stop mysql ``` - 3. Modify the database configuration file, `my.cnf`, as needed (for example, remove deprecated variables, update settings for {{vers}}). + 3. Modify the database configuration file, `my.cnf`, as needed. For example, remove deprecated variables and update settings for {{vers}}. - 4. Install Percona Server for MySQL: + 4. Install Percona Server for MySQL. ```shell sudo apt update sudo apt install curl - curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb + curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb sudo apt install gnupg2 lsb-release ./percona-release_latest.generic_all.deb sudo apt update sudo percona-release setup {{pkg}} @@ -56,53 +89,53 @@ Find the instructions on how to enable the repositories in the following documen 5. Install the storage engine packages. - If you used the MyRocks storage engine in Percona Server for MySQL {{vers}}, install the `percona-server-rocksdb` package: + If you used the MyRocks storage engine in the previous version, install the `percona-server-rocksdb` package. ```shell sudo apt install percona-server-rocksdb ``` - 6. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). + 6. The `mysqld` binary runs the upgrade process automatically on first start. The server creates the data dictionary and refreshes the Performance Schema, INFORMATION_SCHEMA, and `sys` databases. The server then removes obsolete `.frm` files. For details, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). - 7. Restart the service: + 7. Restart the service. ```shell sudo systemctl restart mysql ``` - After the service has been successfully restarted, you can use the new Percona Server for MySQL {{vers}}. + After a successful restart, you can use Percona Server for MySQL {{vers}}. === "RPM-based distributions" - Run the following commands as root or use the `sudo` command. + Run the following commands as root or with `sudo`. + + 1. Create a full backup or dump of your database. Save a copy of the database configuration file, `my.cnf`, to another directory. - 1. Make a full backup (or dump if possible) of your database. Copy the database configuration file, for example, `my.cnf`, to another directory to save it. + 2. Stop the server with the appropriate command for your system. - 2. Stop the server with the appropriate command for your system: - ```shell sudo systemctl stop mysql ``` - 3. Check your installed packages: + 3. Check your installed packages. ```shell rpm -qa | grep Percona-Server ``` - 4. Remove only the packages without dependencies and leave dependent packages. The command does not prompt for confirmation: + 4. Remove the packages without dependencies. The command does not prompt for confirmation. ```shell rpm -qa | grep Percona-Server | xargs rpm -e --nodeps ``` - 5. Remove the mysql-related packages: + 5. Remove the `mysql`-prefixed packages. ```shell rpm -qa | grep '^mysql-' | xargs rpm -e --nodeps ``` - 6. Install the `percona-server-server` package: + 6. Install the `percona-server-server` package. ```shell sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm @@ -112,58 +145,61 @@ Find the instructions on how to enable the repositories in the following documen 7. Install the storage engine packages. - If you used the MyRocks storage engine in the previous version, install the `percona-server-rocksdb` package: + If you used the MyRocks storage engine in the previous version, install the `percona-server-rocksdb` package. ```shell sudo yum install percona-server-rocksdb ``` - 8. Modify your configuration file, `my.cnf`, as needed (for example, remove deprecated variables, update settings for {{vers}}). If you were using plugins that have been replaced by components in {{vers}}, plan the transition to components. See [Upgrade from plugins to components](./upgrade-components.md) for details. + 8. Modify your configuration file, `my.cnf`, as needed. For example, remove deprecated variables and update settings for {{vers}}. If you used plugins replaced by components in {{vers}}, plan the transition. See [Upgrade from plugins to components](./upgrade-components.md) for details. - 9. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). + 9. The `mysqld` binary runs the upgrade process automatically on first start. The server creates the data dictionary and refreshes the Performance Schema, INFORMATION_SCHEMA, and `sys` databases. The server then removes obsolete `.frm` files. For details, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). - 10. Restart the server: + 10. Restart the server. ```shell sudo systemctl restart mysql ``` - After the service has been successfully restarted, you can use the Percona Server for MySQL {{vers}}. + After a successful restart, you can use Percona Server for MySQL {{vers}}. -## Using standalone packages +## Upgrade with standalone packages -Use this method when you cannot use repositories or need to install from manually downloaded packages. This method requires you to manually resolve dependencies. +Use standalone packages when repositories are unavailable, or when you must install from manually downloaded packages. Standalone installs require you to resolve dependencies yourself. === "Debian-derived distributions" - 1. Remove the installed packages with their dependencies: + 1. Remove the installed packages with their dependencies. ```shell sudo apt autoremove percona-server percona-client ``` - 2. Do the required modifications in the database configuration file `my.cnf`. + 2. Modify the database configuration file, `my.cnf`, as needed. - 3. Download the following packages for your architecture: + 3. Download the following packages for your architecture. + + * `libperconaserverclient21` - * `percona-server-server` * `percona-server-client` + * `percona-server-common` - * `libperconaserverclient21` - The following example downloads Percona Server for MySQL {{release}} packages for Debian 11.0: + * `percona-server-server` + + The following example downloads Percona Server for MySQL {{release}} packages for Debian 11.0. ```shell wget https://downloads.percona.com/downloads/Percona-Server-innovative-release/Percona-Server-{{release}}/binary/debian/bullseye/x86_64/Percona-Server-{{release}}-r582ebeef-bullseye-x86_64-bundle.tar ``` - 4. Unpack the bundle to get the packages: + 4. Unpack the bundle to get the packages. ```shell tar xvf Percona-Server-{{release}}-r582ebeef-bullseye-x86_64-bundle.tar ``` - After you unpack the bundle, you should see the following packages: + After unpacking, you should see the following packages. ```shell ls *.deb @@ -172,47 +208,59 @@ Use this method when you cannot use repositories or need to install from manuall ??? example "Expected output" ```{.text .no-copy} - libperconaserverclient21-dev_{{release}}.bullseye_amd64.deb + libperconaserverclient21-dev_{{release}}.bullseye_amd64.deb percona-server-dbg_{{release}}.bullseye_amd64.deb - libperconaserverclient21_{{release}}.bullseye_amd64.deb + libperconaserverclient21_{{release}}.bullseye_amd64.deb percona-server-rocksdb_{{release}}.bullseye_amd64.deb percona-mysql-router_{{release}}.bullseye_amd64.deb percona-server-server_{{release}}.bullseye_amd64.deb - percona-server-client_{{release}}.bullseye_amd64.deb + percona-server-client_{{release}}.bullseye_amd64.deb percona-server-source_{{release}}.bullseye_amd64.deb - percona-server-common_{{release}}.bullseye_amd64.deb + percona-server-common_{{release}}.bullseye_amd64.deb percona-server-test_{{release}}.bullseye_amd64.deb ``` - 5. Install Percona Server for MySQL: + 5. Install Percona Server for MySQL. ```shell sudo dpkg -i *.deb ``` - This command installs the packages from the bundle. Another option is to download or specify only the packages you need for running Percona Server for MySQL installation (`libperconaserverclient21_{{release}}.bullseye_amd64.deb`, `percona-server-client_{{release}}.bullseye_amd64.deb`, `percona-server-common_{{release}}.bullseye_amd64.deb`, and `percona-server-server_{{release}}.bullseye_amd64.deb`). + The command installs all packages from the bundle. You can also install only the packages required to run Percona Server for MySQL. + + * `libperconaserverclient21_{{release}}.bullseye_amd64.deb` + + * `percona-server-client_{{release}}.bullseye_amd64.deb` + + * `percona-server-common_{{release}}.bullseye_amd64.deb` + + * `percona-server-server_{{release}}.bullseye_amd64.deb` !!! warning - When installing packages manually, you must resolve all the dependencies and install missing packages yourself. At least the following packages should be installed before installing Percona Server for MySQL {{release}}: - * `libmecab2` + When you install packages manually, you must resolve all dependencies and install missing packages yourself. Install the following packages before installing Percona Server for MySQL {{release}}. + + * `libaio1` + * `libjemalloc1` + + * `libmecab2` + * `zlib1g-dev` - * `libaio1` - 6. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). + 6. The `mysqld` binary runs the upgrade process automatically on first start. For more information, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). - 7. Restart the service: + 7. Restart the service. ```shell sudo service mysql restart ``` - After the service has been successfully restarted, use the new Percona Server for MySQL {{release}}. + After a successful restart, use Percona Server for MySQL {{release}}. === "Red Hat-derived distributions" - 1. Check the installed packages: + 1. Check the installed packages. ```shell rpm -qa | grep percona-server @@ -227,41 +275,41 @@ Use this method when you cannot use repositories or need to install from manuall percona-server-server-{{release}}.el9.x86_64 ``` - You may have the `shared-compat` package, which is required for compatibility. + The `shared-compat` package may also be present, which is required for compatibility. - 2. Remove the packages without dependencies: + 2. Remove the packages without dependencies. ```shell rpm -qa | grep percona-server | xargs rpm -e --nodeps ``` - It is important that you remove the packages without dependencies as many packages may depend on these (as they replace `mysql`) and will be removed if omitted. + Use `--nodeps` because the Percona Server packages share dependencies. Without `--nodeps`, removing one package removes related packages. - To remove the listed packages, run: + Run the following command to remove `mysql`-prefixed packages. ```shell rpm -qa | grep '^mysql-' | xargs rpm -e --nodeps ``` - 3. Download the packages of the desired series for your architecture from the [download page :octicons-link-external-16:](https://www.percona.com/downloads). The easiest way is to download the bundle which contains all the packages. The following example downloads Percona Server for MySQL {{release}} packages for RHEL 9: + 3. Download the packages for your architecture from the [download page :octicons-link-external-16:](https://www.percona.com/downloads). The bundle includes all packages and is the recommended option. The following example downloads Percona Server for MySQL {{release}} packages for Red Hat Enterprise Linux (RHEL) 9. ```shell wget https://downloads.percona.com/downloads/Percona-Server-{{vers}}/Percona-Server-{{release}}/binary/redhat/9/x86_64/Percona-Server-{{release}}-r9927a2fb-el9-x86_64-bundle.tar ``` - 4. Unpack the bundle to get the packages: + 4. Unpack the bundle to get the packages. ```shell tar xvf Percona-Server-{{release}}-r9927a2fb-el9-x86_64-bundle.tar ``` - After you unpack the bundle, you should see the following packages: + After unpacking, you should see the available packages. ```shell ls *.rpm ``` - 5. Install Percona Server for MySQL: + 5. Install Percona Server for MySQL. ```shell sudo rpm -ivh percona-server-server-{{release}}.el9.x86_64.rpm \ @@ -270,9 +318,9 @@ Use this method when you cannot use repositories or need to install from manuall percona-server-shared-compat-{{release}}.el9.x86_64.rpm ``` - This command installs only packages required to run the Percona Server for MySQL {{release}}. + The command installs only the packages required to run Percona Server for MySQL {{release}}. - You can install all the packages (for debugging, testing, etc.) with: + Run the following command to install all packages, including debugging and testing packages. ```shell sudo rpm -ivh *.rpm @@ -280,33 +328,122 @@ Use this method when you cannot use repositories or need to install from manuall !!! note - When manually installing packages, you must resolve all the dependencies and install missing ones. + When you install packages manually, you must resolve all dependencies and install missing packages. - 6. Modify your configuration file, `my.cnf`, as needed (for example, remove deprecated variables, update settings for {{vers}}). If you were using plugins that have been replaced by components in {{vers}}, plan the transition to components. See [Upgrade from plugins to components](./upgrade-components.md) for details. + 6. Modify your configuration file, `my.cnf`, as needed. For example, remove deprecated variables and update settings for {{vers}}. If you used plugins replaced by components in {{vers}}, plan the transition. See [Upgrade from plugins to components](./upgrade-components.md) for details. - RHEL or derivatives automatically backs up the previous configuration file to `/etc/my.cnf.rpmsave` and installs the default `my.cnf`. After the upgrade/install process completes, you can restore your configuration from the backup (after removing all unsupported system variables). + RHEL and its derivatives copy the previous configuration file to `/etc/my.cnf.rpmsave`. The package install also adds the default `my.cnf`. After the upgrade or install completes, restore your configuration from the saved copy. Remove any unsupported system variables before restoring. - 7. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). + 7. The `mysqld` binary runs the upgrade process automatically on first start. For more information, see [MySQL Upgrade Process :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). - 8. Restart the server: + 8. Restart the server. ```shell sudo service mysql restart ``` - After the service has been successfully restarted, you can use the new Percona Server for MySQL {{release}}. + After a successful restart, you can use Percona Server for MySQL {{release}}. + +## Perform a logical upgrade with mysqldump + +Use a logical upgrade when an in-place upgrade is not viable. Examples include cross-platform migrations and storage-engine consolidations. The logical path exports SQL from the source server and loads the SQL into a fresh {{vers}} server. + +Run the following procedure on the source and target hosts. + +1. Export the source database. Include `--routines`, `--events`, and `--all-databases` so that stored programs and the `mysql` system database appear in the dump. + + ```shell + mysqldump -u root -p \ + --add-drop-table \ + --routines \ + --events \ + --all-databases \ + --force > data-for-upgrade.sql + ``` + +2. Stop the source server. + + ```shell + mysqladmin -u root -p shutdown + ``` + +3. Install Percona Server for MySQL {{vers}} on a clean host or a separate path. Use the procedure in [Upgrade with Percona repositories (recommended)](#upgrade-with-percona-repositories-recommended) or [Upgrade with standalone packages](#upgrade-with-standalone-packages). + +4. Initialize a fresh data directory for {{vers}}. + + ```shell + mysqld --initialize --datadir=/var/lib/mysql-{{vers}} + ``` + + Capture the temporary `root` password from standard error or the error log. + +5. Start the {{vers}} server with the fresh data directory. + + ```shell + mysqld_safe --user=mysql --datadir=/var/lib/mysql-{{vers}} & + ``` + +6. Connect with the temporary password and reset the `root` account. + + ```sql + ALTER USER USER() IDENTIFIED BY ''; + ``` + +7. Load the dump file into the {{vers}} server. + + ```shell + mysql -u root -p --force < data-for-upgrade.sql + ``` + +8. Restart with `--upgrade=FORCE` to finish data dictionary tasks. + + ```shell + mysqladmin -u root -p shutdown + mysqld_safe --user=mysql --datadir=/var/lib/mysql-{{vers}} --upgrade=FORCE & + ``` + +!!! warning "Global Transaction Identifier (GTID) interaction" -## Post-upgrade validation + Do not load a dump file that contains the `mysql` system database when `gtid_mode=ON`. The `mysqldump` output issues data manipulation statements against `MyISAM` system tables. These statements conflict with the GTID requirement for transactional storage. Disable GTID functionality during the load or take the dump without system tables. + +## Validate after upgrading After completing the upgrade, follow the post-upgrade validation steps in the [upgrade checklist](./upgrade-checklist-9.7.md#post-upgrade-validation). +The upgrade does not refresh time zone tables. Reload the tables with `mysql_tzinfo_to_sql` if your applications depend on time zone names. + +```shell +mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql +``` + +## Troubleshoot upgrade failures + +The following table maps common upgrade failure modes to the corrective action. + +| Symptom | Diagnosis | Solution | +|---|---|---| +| The {{vers}} server fails the metadata upgrade and reverts the data directory | A schema problem flagged during pre-upgrade checks was not resolved | Remove the redo log files (`ib_logfile*`) from the data directory. Start the source server on the same data directory. Fix the schema. Perform a slow shutdown with `innodb_fast_shutdown=0`, then retry the upgrade | +| `mysqld` does not start after binary replacement | A stale `my.cnf` from the prior installation is still in effect | Run `mysqld --print-defaults` to inspect the active defaults. Replace or repair the configuration file, then retry start | +| Compiled client programs report "Commands out of sync" or core dump | Programs are linked against the prior client headers and shared library | Recompile programs against the {{vers}} headers (`mysql.h`) and the {{vers}} shared client library. Note the major version change in the library file name | +| A loadable function and a built-in function share a name | The {{vers}} server provides a built-in function that collides with an existing loadable function | Run `DROP FUNCTION `. Recreate the function with `CREATE FUNCTION` under a non-conflicting name | +| Encrypted InnoDB tablespaces fail to open | The keyring component or plugin is not loaded early in the startup sequence | Configure the keyring through a manifest file (`mysqld.my`). See [Upgrade from plugins to components](./upgrade-components.md) | + +For schema-readiness checks before the upgrade, see [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md). + ## Further reading -* [Upgrade overview](./upgrade.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) +The following Percona Server for MySQL pages cover upgrade-related topics: + * [Downgrade options](./downgrade.md) + +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) + * [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) + +* [Upgrade from plugins to components](./upgrade-components.md) + +* [Upgrade overview](./upgrade.md) + +* [Upgrade strategies](./upgrade-strategies.md) diff --git a/docs/upgrade-strategies.md b/docs/upgrade-strategies.md index 7aa55089feb..b1a27766f9a 100644 --- a/docs/upgrade-strategies.md +++ b/docs/upgrade-strategies.md @@ -1,104 +1,175 @@ # Upgrade strategies -For critical production systems, consider engaging [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) to assist with your upgrade process. Our experts can help ensure a smooth transition and minimize potential risks during this sensitive operation. +**Topic type**: Concept + +For critical production systems, consider engaging [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) to assist with your upgrade. Our experts can help you complete a smooth transition and minimize risk during this sensitive operation. + +The following strategies cover most {{vers}} upgrade scenarios. Combine the prep steps in [Upgrade procedures for {{vers}}](./upgrade-procedures.md) with the strategy that matches your environment. + +For underlying MySQL guidance, see [Upgrading or Downgrading a Replication Topology :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-upgrade.html). ## Downgrade options -Review the [Downgrade options](downgrade.md) to ensure that your downgrade path is supported. +Review the [Downgrade options](./downgrade.md) to confirm that your downgrade path is supported. + +## Choose an upgrade strategy + +Use the following table to choose the strategy that matches your downtime budget, risk tolerance, and infrastructure constraints. + +| Strategy | Downtime | Risk | Infrastructure cost | Best for | +|---|---|---|---|---| +| In-place | Short to moderate, equal to restart and metadata upgrade time | Higher, due to shared data directory and limited rollback | Low | Same-platform upgrades on a single host or where parallel hardware is unavailable | +| Logical dump and restore | Moderate to high, scaled to data size | Moderate, with clean metadata at the cost of dump and load time | Low to moderate | Cross-platform moves, storage-engine consolidations, and clean rebuilds | +| Side-by-side with cutover | Minimal, only at cutover | Lower, with a defined fallback until fail-forward | High, requires parallel hardware | Critical production systems with the smallest tolerable outage | +| MySQL Clone | Minimal, only at cutover | Lower, with a fast physical snapshot | Moderate, requires a recipient server | Provisioning a {{vers}} replica from a same Long-Term Support (LTS) donor at scale | +| Rolling upgrade in a replication topology | Per-node restart only | Lower, with replicas absorbing traffic | Low if replicas already exist | Existing replication topologies where the source remains available | + +For supported upgrade paths and methods, see [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md). + +## Upgrade in place + +An in-place upgrade replaces binaries on the same host and restarts on the existing data directory. The strategy is the fastest binary swap and requires no parallel hardware. + +The procedure halts the server, replaces packages, and starts {{vers}} against the same data files. Configure a slow shutdown by setting `innodb_fast_shutdown=0` before stopping. A slow shutdown leaves InnoDB in a state that is safe across releases. + +Take the following actions before the upgrade: + +* Verify a backup and test a restore. + +* Complete the [upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md). + +* Run `XA RECOVER` against the source server. Commit or rollback any uncommitted XA transactions. + +The in-place strategy has the following trade-offs: + +* Downtime equals the restart and metadata upgrade time. + +* The rollback path is limited because the data directory remains in place. + +* Infrastructure cost is lower than parallel-environment options. + +Rollback path: stop the server, restore the verified backup, then revert the binaries. Test the rollback in staging. + +For step-by-step commands, see [Upgrade procedures for {{vers}}](./upgrade-procedures.md). + +## Use logical dump and restore + +A logical upgrade exports Structured Query Language (SQL) from the source server. The export reloads into a fresh {{vers}} server. The path produces clean metadata at the cost of a longer maintenance window. + +Take the following actions before the upgrade: + +* Size the maintenance window to your data volume. Test the dump and restore time on a representative sample. -## In-place upgrade +* Provision capacity for parallel dump and restore on the target host. -Use the in-place upgrade strategy only as a last resort. This approach involves shutting down the server and replacing the server binaries or packages with new ones. The new server version then starts using the existing data directory. Configure the server to perform a slow shutdown by setting `innodb_fast_shutdown=0` before shutting down. +* Run `mysqlcheck --check-upgrade` and resolve any reported issues. -The benefits are: +The logical strategy has the following trade-offs: -* Lower infrastructure costs compared to creating a new environment, though nodes require testing. +* Downtime is long and scales with data size. -* Ability to complete an upgrade over weeks with cool-down periods between reader node upgrades. +* The target is clean and inherits no carryover from the source data directory. -* Requires a failover of production traffic, and achieving minimal downtime demands robust high-availability tools. +* The strategy supports cross-platform and cross-storage-engine moves. -If you use XA transactions with InnoDB, running `XA RECOVER` before upgrading checks for uncommitted XA transactions. If results are returned, either commit or rollback the XA transactions by issuing an `XA COMMIT` or `XA ROLLBACK` statement. +Rollback path: keep the source server available until validation completes. Redirect traffic back to the source if the {{vers}} server fails validation. -## New environment with cut over +For step-by-step commands, see [Perform a logical upgrade with mysqldump](./upgrade-procedures.md#perform-a-logical-upgrade-with-mysqldump). -Upgrading with a new environment involves provisioning a duplicate environment with the same number of servers with the same hardware specs and same operating system as the current production nodes. +## Run a side-by-side migration with controlled cutover -On the newly provided hardware, the target MySQL version will be installed. The new environment will be set up, and the production data will be recovered. Remember that you can use pt-config-diff to verify MySQL configurations. +A side-by-side migration runs the source and {{vers}} environments in parallel and redirects traffic at a single cutover. The strategy provides the smallest outage and the cleanest rollback at the cost of parallel infrastructure. -Replication from the current source to the newly built environment will be established. -At cutover time, all writes on the current source will be halted, and the application traffic will need to be redirected to the new source. The cutover can be done using a Virtual IP address or manually redirecting the application itself. Once writes are being received on the new environment, you are in a fail forward situation, and the old environment can be torn down. +Take the following actions to build the parallel environment: -The new environment strategy has the following pros and cons: +* Match the production environment in server count, hardware specifications, and operating system. -* Additional infrastructure cost since a new environment must be built. +* Install Percona Server for MySQL {{vers}} on the parallel hardware. -* Ability to upgrade both the OS and the DBMS at the same time. +* Recover the production data into the parallel environment. Verify configuration parity with `pt-config-diff`. -* Allows upgrade of hardware easily. +* Configure replication from the source to the parallel environment. -* Requires only a single cutover window. +* Validate the workload on the parallel replicas. Rehearse failover. -## 8.0 → {{vers}} migration methods +Take the following actions at cutover: -Choose the approach that matches your downtime budget, risk tolerance, and rollback needs. Always rehearse in a non-production environment first. +* Halt writes on the source. Allow replicas to apply remaining transactions. -> **Note**: For a complete overview of supported upgrade paths and methods, see [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md). +* Promote {{vers}} as the primary write target. -### In-place upgrade (stop/replace/start) +* Redirect traffic with a Virtual IP (VIP) address or a Domain Name System (DNS) update. -Downtime: short to moderate +After traffic lands on {{vers}} and validation completes, decommission the source environment. -Risk: higher (shared data directory; fewer rollback options) +The side-by-side strategy has the following trade-offs: -Use when: the environment is simple, downtime is acceptable, and you have strong backups and validation. +* Infrastructure cost is highest during the migration window. -Prerequisites: +* The strategy requires a single cutover window. -* Complete [Upgrade checklist](./upgrade-checklist-8.4.md) pre-upgrade checks -* Set `innodb_fast_shutdown=0` for a clean shutdown -* Verified backup and restore +* Database, hardware, and operating system upgrades can land in the same window. -Rollback: restore backup and revert binaries. +Rollback path: before fail-forward, redirect traffic back to the source. Resume writes on the source. -### Logical dump and restore (clean rebuild) +## Use MySQL Clone for provisioning -Downtime: moderate to high (data size dependent) +MySQL Clone provides a physical InnoDB snapshot from a donor server to a recipient. The recipient receives a fully functional data directory. Cloning is a fast way to provision a {{vers}} replica from a same-LTS donor. -Risk: moderate (clean metadata; slower for large datasets) +Cloning supports two operation modes: -Use when: you want a pristine {{vers}} instance and can accept longer downtime. +* Local clone: the donor and recipient run on the same host. The clone produces a directory copy on local storage. -Prerequisites: +* Remote clone: the donor and recipient run on separate hosts. The clone transfers data over the network. The recipient receives schemas, tablespaces, and data-dictionary metadata from the donor. -* Sufficient capacity for parallel dump/restore -* Application maintenance window sized to data volume +The clone operation also extracts replication coordinates from the donor and applies the coordinates on the recipient. The recipient can join replication without replaying the full transaction history. Cloning a large dataset is faster than synchronizing through replication alone. -Rollback: keep 8.0 online until validation completes; redirect traffic back if needed. +Take the following actions to use clone for upgrade provisioning: -### Side-by-side with replication and controlled cutover +* Match the donor and recipient on the same LTS series. Cross-LTS clone is not supported. -Downtime: minimal (cutover only) +* Install the clone plugin on both donor and recipient. -Risk: lower (new environment; defined fallback until fail-forward) +* Grant `BACKUP_ADMIN` on the donor and `CLONE_ADMIN` on the recipient. -Use when: you need the smallest outage and can provision a parallel environment. +* Run the clone, start the recipient, and validate the data. -Prerequisites: +For details, see [The Clone Plugin :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/clone-plugin.html). -* Build a new {{vers}} environment; establish replication from 8.0 -* Validate workload on the replica(s) and rehearse failover +## Run a rolling upgrade in a replication topology -Cutover: stop writes on 8.0, allow replica to catch up, redirect traffic (VIP/DNS), then promote {{vers}}. +A rolling upgrade rolls each server in a replication topology through the procedure in turn. Replication continues during the rollout. Replicas absorb traffic while the source upgrades. -Rollback: if issues arise before fail-forward, redirect traffic back to 8.0 and resume writes. +Replication supports an older source paired with a later replica, but not the inverse. Upgrade replicas first and then upgrade the source. A replica at an earlier release cannot process transactions from a source at a later release. + +The procedure has the following stages. + +1. Upgrade replicas one at a time. For each replica, follow the [single-server procedure](./upgrade-procedures.md). Restart replication with `START REPLICA` after each upgrade. + +2. For multi-tier topologies, upgrade replicas farthest from the source first. Work bottom-up. + +3. After all replicas are on {{vers}}, switch over. Stop writes on the source. Wait for at least one replica to apply all transactions. Promote that replica as the source. + +4. Upgrade the previous source as a single server. Reinsert the upgraded server into the topology. + +Multi-source replication has a stricter constraint. A multi-source topology supports at most two MySQL versions concurrently. Plan the rollout to keep the active versions to two or fewer at any time. + +For the canonical procedure, see [Upgrading or Downgrading a Replication Topology :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-upgrade.html). ## Further reading -* [Upgrade overview](./upgrade.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) +The following Percona Server for MySQL pages cover upgrade-related topics: + * [Downgrade options](./downgrade.md) + +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) + * [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) + +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) + +* [Upgrade from plugins to components](./upgrade-components.md) + +* [Upgrade overview](./upgrade.md) + +* [Upgrade procedures for {{vers}}](./upgrade-procedures.md) diff --git a/docs/upgrade.md b/docs/upgrade.md index 910e679623a..904eb2add1f 100644 --- a/docs/upgrade.md +++ b/docs/upgrade.md @@ -1,170 +1,184 @@ -# Upgrade from 8.0 to {{vers}} overview +# Upgrade from 8.4 to {{vers}} overview + +**Topic type**: Concept --8<--- "get-help-snip.md" -[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). +[Need expert guidance for your upgrade? Percona Support can assist :octicons-link-external-16:](https://www.percona.com/services/support). + +## Why upgrade to Percona Server for MySQL {{vers}}? + +Moving from 8.4 Long-Term Support (LTS) to {{vers}} is more than a version bump. Updated defaults, deprecated options, and behavior changes can affect performance and break existing scripts. Treat the upgrade as a project. Plan the steps, select a method that fits your downtime window, and verify the result. + +## Identify the benefits of upgrading - +The following table lists the main benefits. -## Why upgrade to Percona Server for MySQL {{vers}} LTS +| Benefit | What it means for you | +|---|---| +| Security fixes | Patches close known vulnerabilities and protect data from attacks. | +| Additional features | Improved performance, reliability, and capability. | +| Less manual effort | Automation handles routine tasks without hands-on intervention. | +| Lower operational cost | Improved efficiency and scalability reduce day-to-day operations cost. | -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. +## Assess the risks of staying on an older version -## Benefits of upgrading to Percona Server for MySQL 8.4 +The following table summarizes the risks. -| Benefit | What it means for you | -|-----------------------|----------------------------------------------------------------------------------------| -| Security fixes | Patches close known vulnerabilities, keeping your data safe from attacks. | -| New or enhanced features | Access to functionality that improves performance, reliability, and overall capability. | -| Less manual effort | Automation tools let you handle routine tasks without hands-on intervention. | -| Stay relevant | The latest version helps you meet evolving customer expectations and deliver solutions more quickly. | -| Lower operational cost | Improved efficiency, and scalability translate into cheaper day-to-day operations. | +| Risk | Potential impact | +|---|---| +| Security exposure | Without recent patches, attackers can breach, corrupt, or destroy data. | +| Feature stagnation | Missing capabilities slow performance and increase outage frequency. | +| Reduced support | Older versions receive less vendor assistance, which lengthens troubleshooting. | +| Compatibility problems | Hardware, operating system releases, or third-party applications may not work with an outdated server. | +| Unplanned upgrade pressure | Hardware or operating system failures can force a rushed upgrade and increase error risk. | -## Risks of staying on an older version +[Concerned about these risks? Percona Support can help assess and mitigate them :octicons-link-external-16:](https://www.percona.com/services/support). +## Understand what the upgrade process changes -| Risk | Potential impact | -|--------------------------|----------------------------------------------------------------------------------------------------------------------------------| -| Security exposure | Without the latest patches, attackers can breach, corrupt, or destroy data, harming reputation and causing financial loss. | -| Feature stagnation | Missing new capabilities can lead to slower performance, lower productivity, and more frequent outages. | -| Reduced support | Older versions receive less vendor assistance, resulting in longer troubleshooting times and higher support expenses. | -| Compatibility problems | New hardware, operating system releases, or third-party applications may not work with an outdated Percona Server version, eventually leaving the server unsupported. | -| Unplanned upgrade pressure | Unexpected hardware or OS failures can force a rushed upgrade, increasing the chance of errors. | +A {{vers}} restart against an existing data directory runs an automatic two-phase upgrade. The phases run inside the server with no user action required. The split lets the server start with a current data dictionary even when other tasks remain. -[Concerned about these risks? -Percona Support can help assess and mitigate them :octicons-link-external-16:](https://www.percona.com/services/support). +| Phase | Scope | What the server does | +|---|---|---| +| Data dictionary upgrade | The data dictionary tables in the `mysql` schema, the Performance Schema, and the `INFORMATION_SCHEMA` | Creates dictionary tables with current definitions, copies metadata across, and atomically replaces the prior tables | +| Server upgrade | The system tables in `mysql`, the `sys` schema, and all user schemas | Runs `CHECK TABLE ... FOR UPGRADE` on each table, repairs as needed, and stamps each table with the {{vers}} version number | +The data dictionary upgrade always runs first. The server tracks two versions in the data dictionary: the data dictionary version and the server (MySQL) version. The server upgrades any part that lags the {{vers}} expected versions. -## Upgrade workflow +The `--upgrade` server option controls the automatic upgrade behavior at startup. -Follow this step-by-step workflow to plan and execute your upgrade from 8.0 to {{vers}}: +| Mode | Behavior | +|---|---| +| `AUTO` (default) | Run any out-of-date upgrade tasks across both phases | +| `NONE` | Skip both phases. The server exits with an error if the data dictionary requires an upgrade | +| `MINIMAL` | Run the data dictionary upgrade only. Group Replication cannot start after a MINIMAL upgrade because system tables remain stale | +| `FORCE` | Run the data dictionary upgrade, then force the server upgrade across every schema. Use the mode to re-create missing system tables, such as help tables or time zone tables. Expect a longer startup | -### Step 1: Understand what's changing +The server upgrade locks each table during processing. Plan a maintenance window that fits the largest tables in the schema. Time zone tables are not refreshed automatically. Reload the tables with `mysql_tzinfo_to_sql` if your applications depend on time zone names. -Review these documents to understand breaking changes, removed features, and compatibility issues: +For underlying MySQL guidance, see [What the MySQL Upgrade Process Upgrades :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html). -* [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) - Review behavioral changes, removed features, and removed variables that may affect your applications +## Run the upgrade workflow -* [Compatibility and removed items in {{vers}}](./8.4-compatibility-and-removed-items.md) - Verify third-party tool compatibility +The following steps describe the upgrade workflow from 8.4 to {{vers}}. -* [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) - Understand configuration changes that may impact performance +### Step 1: Review what changed -* [Percona Toolkit updates for {{vers}}](./percona-toolkit-8.4-updates.md) - Review toolkit changes if you use Percona Toolkit +Review the following resources to understand behavior changes, removed features, and toolkit impacts: + +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) describes toolkit changes + +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) confirms supported upgrade paths + +* [Keywords and Reserved Words in MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keywords.html) lists reserved words that break unquoted identifiers ### Step 2: Complete pre-upgrade preparation -Work through the pre-upgrade checks in the [upgrade checklist](./upgrade-checklist-8.4.md). This includes: +Work through the pre-upgrade checks in the [upgrade checklist](./upgrade-checklist-9.7.md). The pre-upgrade checks cover the following topics: -* Verifying authentication methods and client compatibility +* Authentication methods and client compatibility -* Updating replication scripts (MASTER/SLAVE → SOURCE/REPLICA syntax) +* Backup and restore procedures -* Identifying and addressing removed features or variables +* Configuration defaults -* Reviewing configuration defaults +* Plugin-to-component transitions, if applicable -* Testing backups and restore procedures +* Removed features and variables -* Planning plugin-to-component transitions (if applicable) +* Replication script updates (`MASTER`/`SLAVE` to `SOURCE`/`REPLICA` syntax) ### Step 3: Choose your upgrade strategy -Select the upgrade method that best fits your environment: - -* [Upgrade strategies](./upgrade-strategies.md) - Overview of in-place, logical dump/restore, and side-by-side methods +Select an upgrade method that fits your environment: -* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) - Verify your upgrade path is supported +* [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) confirms supported upgrade paths -### Step 4: Execute the upgrade +* [Upgrade strategies](./upgrade-strategies.md) covers in-place, logical dump and restore, side-by-side, MySQL Clone, and rolling-replication methods -Follow the step-by-step procedures for your chosen method: +### Step 4: Run the upgrade -* [Upgrade procedures for {{vers}}](./upgrade-procedures.md) - Detailed procedures for repository-based or standalone package upgrades +Follow the procedures in [Upgrade procedures for {{vers}}](./upgrade-procedures.md). The procedures cover repository-based and standalone package upgrades. ### Step 5: Validate the upgrade -After completing the upgrade, complete the post-upgrade validation steps in the [upgrade checklist](./upgrade-checklist-8.4.md#post-upgrade-validation). These steps include: +Complete the post-upgrade validation in the [upgrade checklist](./upgrade-checklist-9.7.md#post-upgrade-validation). The validation steps cover the following topics: -* Verifying connectivity and authentication +* Backup and recovery testing -* Checking replication health (if applicable) +* Connectivity and authentication -* Re-creating spatial indexes +* Logs and metrics -* Validating performance baselines +* Performance baselines -* Reviewing logs and metrics +* Replication health, if applicable -* Testing backup and recovery +* Spatial index re-creation -### Additional reference materials +## Reduce upgrade risk -* [Upgrade from plugins to components](./upgrade-components.md) - Guide for migrating from plugins to components +The following tools help reduce upgrade risk before you run the production upgrade: -* [Downgrade options](./downgrade.md) - Information about downgrading if needed +* A full dry-run workflow exercises every step. Create a backup, restore on {{vers}}, run smoke and load tests, validate, and practice rollback. -### Tooling to de-risk your upgrade +* [Percona XtraBackup :octicons-link-external-16:](https://www.percona.com/software/mysql-database/percona-xtrabackup) creates hot backups for restore testing. -* [`pt-upgrade` :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/pt-upgrade.html) – compares query plans and execution behavior between Percona Server 8.0 and {{vers}} +* [`pt-upgrade` :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/pt-upgrade.html) compares query plans between Percona Server 8.4 and {{vers}}. -* [Percona XtraBackup :octicons-link-external-16:](https://www.percona.com/software/mysql-database/percona-xtrabackup) – creates hot backups and lets you test restores without downtime. +These tools surface regressions early and confirm a reliable fallback plan. -* A full dry-run workflow - backup → restore on 8.4 → run smoke/load tests → validate → practice rollback. +## Test before production -These purpose‑built tools let you spot regressions early and ensure a reliable fallback plan. +Configure a sandbox and run the upgrade there first. The sandbox is essential for a successful migration. -## Test environment is mandatory +!!! warning "Data loss risk" -Set up a sandbox and run the upgrade there first. This isolated environment is essential for a successful migration. If you ever need to revert to the previous version, note that there is no fully supported in-place [downgrade procedure](./downgrade.md) from Percona Server for MySQL 8.4 to an earlier major version. The most reliable rollback method is to restore a backup taken before the upgrade, or to use a logical dump/load or replication into the older version. Because binary compatibility may not be preserved when new features or data-format changes have been applied, the safest approach is to provision a fresh instance of the older version and reload your data, rather than expecting a simple “undo” of the upgrade. + Percona Server for MySQL {{vers}} does not provide a supported in-place downgrade to an earlier major version. Plan the rollback path before the upgrade. The most reliable rollback is to restore a backup taken before the upgrade. Logical dump and load, or replication into the older version, are also supported. -We strongly advise upgrading to the latest LTS release (Percona Server for MySQL {{vers}}) to stay secure, performant, and fully supported. +Operations in {{vers}} can change data formats, which breaks binary compatibility with older versions. The safest approach is to provision a fresh server on the older version and reload your data. Do not expect a one-step undo of the upgrade. See [Downgrade options](./downgrade.md) for more details. +We recommend upgrading to the most recent LTS release for security, performance, and full support. [Need personalized support during your upgrade? Contact Percona Support for a detailed migration plan :octicons-link-external-16:](https://www.percona.com/services/support). ## Further reading -Review these upgrade-related documents: +The following Percona Server for MySQL pages cover upgrade-related topics: -* [Upgrade checklist for {{vers}}](./upgrade-checklist-8.4.md) - -* [Upgrade procedures for {{vers}}](./upgrade-procedures.md) - -* [Upgrade strategies](./upgrade-strategies.md) +* [Downgrade options](./downgrade.md) * [MySQL upgrade paths and supported methods](./mysql-upgrade-paths.md) -* [Upgrade from plugins to components](./upgrade-components.md) - -* [Downgrade options](./downgrade.md) +* [Percona Toolkit updates for {{vers}}](./percona-toolkit-9.7-updates.md) -* [Breaking and incompatible changes in {{vers}}](./8.4-breaking-changes.md) +* [Upgrade checklist for {{vers}}](./upgrade-checklist-9.7.md) -* [Compatibility and removed items in {{vers}}](./8.4-compatibility-and-removed-items.md) +* [Upgrade from plugins to components](./upgrade-components.md) -* [Defaults and tuning guidance for {{vers}}](./8.4-defaults-and-tuning.md) +* [Upgrade procedures for {{vers}}](./upgrade-procedures.md) -* [Percona Toolkit updates for {{vers}}](./percona-toolkit-8.4-updates.md) +* [Upgrade strategies](./upgrade-strategies.md) ### Additional MySQL documentation -The following list summarizes a number of the changes in the 8.0 series and has useful guides that can help you perform a smooth upgrade. We strongly recommend reading this information: - -* [Upgrading MySQL :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading.html) +The following MySQL documentation pages cover the upgrade process: * [Before You Begin :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-before-you-begin.html) -* [Upgrade Paths :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-paths.html) - -* [Changes in MySQL 8.0 :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-from-previous-series.html) +* [Percona Server for MySQL {{vers}} Release notes :octicons-link-external-16:](https://docs.percona.com/percona-server/latest/release-notes/release-notes_index.html) * [Preparing your Installation for Upgrade :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-prerequisites.html) -* [Percona Server for MySQL {{vers}} Release notes :octicons-link-external-16:](https://docs.percona.com/percona-server/latest/release-notes/release-notes_index.html) +* [Rebuilding or Repairing Tables or Indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/rebuilding-tables.html) + +* [Upgrade Paths :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-paths.html) * [Upgrade Troubleshooting :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-troubleshooting.html) -* [Rebuilding or Repairing Tables or Indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/rebuilding-tables.html) +* [Upgrading MySQL :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading.html) -Review other [Percona blogs :octicons-link-external-16:](https://www.percona.com/blog/) that contain upgrade information. +* [What the MySQL Upgrade Process Upgrades :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html) +For additional reading, review the [Percona blog :octicons-link-external-16:](https://www.percona.com/blog/) for upgrade information. diff --git a/mkdocs-base.yml b/mkdocs-base.yml index c7d4f6dc5e7..a8b6b04a98a 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -269,6 +269,7 @@ nav: - upgrade-components.md - downgrade.md - downgrade-from-pro.md + - Migrating to MySQL Community Edition: migration-from-ps-ce.md - Post-Installation: - First five minutes: first-five-minutes.md - Sanity check (First five minutes): sanity-check.md