diff --git a/docs/8.4-breaking-changes.md b/docs/8.4-breaking-changes.md
index 91b7bdebb47..f3ddf3e0b07 100644
--- a/docs/8.4-breaking-changes.md
+++ b/docs/8.4-breaking-changes.md
@@ -2,7 +2,7 @@
Review these items before upgrading from 8.0 to {{vers}}. This document covers the most significant breaking behavioral changes, removed features, and removed variables that may affect your upgrade. Each entry includes the impact, replacement (if available), and recommended action.
-Review the [MySQL 8.4 Reference manual](https://dev.mysql.com/doc/refman/8.4/en/) for more information.
+Review the [MySQL 8.4 Reference manual :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.4/en/) for more information.
## Authentication and user management
diff --git a/docs/adaptive-network-buffers.md b/docs/adaptive-network-buffers.md
index 59c7299ced6..f7f41547ff3 100644
--- a/docs/adaptive-network-buffers.md
+++ b/docs/adaptive-network-buffers.md
@@ -2,7 +2,7 @@
To find the buffer size of the current connection, use the `network_buffer_length` status variable. Add `SHOW GLOBAL` to review the cumulative buffer sizes for all connections. This variable can help to estimate the maximum size of the network buffer’s overhead.
-Network buffers grow towards the [max_allowed_packet] size and do not shrink until the connection is terminated. For example, if the connections are selected at random from the pool, an occasional big query eventually increases the buffers of all connections. The combination of max_allowed packet set to a value between 64MB and 128MB and the connection number between 256 and 1024 can create a large memory overhead.
+Network buffers grow towards the [max_allowed_packet :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_max_allowed_packet) size and do not shrink until the connection is terminated. For example, if the connections are selected at random from the pool, an occasional big query eventually increases the buffers of all connections. The combination of max_allowed packet set to a value between 64MB and 128MB and the connection number between 256 and 1024 can create a large memory overhead.
Percona Server for MySQL implemented the [net_buffer_shrink_interval](#net_buffer_shrink_interval) variable to solve this issue. The default value is 0 (zero). If you set the value higher than 0, Percona Server records the network buffer’s maximum use size for the number of seconds set by net_buffer_shrink_interval. When the next interval starts, the network buffer is set to the recorded size. This action removes spikes in the buffer size.
@@ -19,5 +19,3 @@ You can achieve similar results by disconnecting and reconnecting the TCP connec
| Default value: | 0 |
The interval is measured in seconds. The default value is 0, which disables the functionality. The minimum value is 0, and the maximum value is 31536000.
-
-[max_allowed_packet]: https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_max_allowed_packet
diff --git a/docs/advisors.md b/docs/advisors.md
index 5df1c59c94b..5f89d77160e 100644
--- a/docs/advisors.md
+++ b/docs/advisors.md
@@ -1,7 +1,6 @@
# Use Percona Monitoring and Management (PMM) Advisors
-[Percona Monitoring and Management (PMM)](https://www.percona.com/software/database-
-tools/percona-monitoring-and-management) provides several categories of Advisors.
+[Percona Monitoring and Management (PMM) :octicons-link-external-16:](https://www.percona.com/software/database-tools/percona-monitoring-and-management) provides several categories of Advisors.
Each Advisor contains a set of automated checks. These checks investigate your
database settings for a specific range of possible issues.
@@ -11,10 +10,9 @@ Both options are enabled by default.
!!! note "Need Additional Guidance?"
If you encounter complex advisor recommendations or require expert
- interpretation, [Percona Support](https://www.percona.com/services/support)
+ interpretation, [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support)
offers professional assistance to help you optimize your database
configuration and resolve any identified issues.
!!! admonition "See also"
- [PMM documentation - Advisor checks](https://docs.percona.com/percona-platform/
- advisors.html)
+ [PMM documentation - Advisor checks :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/3/advisors/advisors.html)
diff --git a/docs/aio-page-requests.md b/docs/aio-page-requests.md
index 0e869bb49b4..3f428956e69 100644
--- a/docs/aio-page-requests.md
+++ b/docs/aio-page-requests.md
@@ -4,12 +4,11 @@ The I/O unit size in *InnoDB* is only one page, even if the server doing read ah
I/O unit size is too small for sequential reads, and less efficient than a larger I/O unit size. *InnoDB* uses Linux asynchronous I/O (`aio`) by default. By submitting multiple, consecutive 16KB read requests at the same time, Linux internally merges the requests and
reads more efficiently.
-This feature is able to submit multiple page I/O requests and works in the background. You can manage the feature with the [linear read-ahead technique]. This technique adds pages to the buffer pool based on the buffer pool pages being accessed sequentially. The [`innodb_read_ahead_threshold`] configuration parameter controls this operation.
+This feature is able to submit multiple page I/O requests and works in the background. You can manage the feature with the [linear read-ahead technique]. This technique adds pages to the buffer pool based on the buffer pool pages being accessed sequentially. The [`innodb_read_ahead_threshold`](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_read_ahead_threshold) configuration parameter controls this operation.
-[On a HDD RAID 1+0 environment](http://yoshinorimatsunobu.blogspot.hr/2013/10/making-full-table-scan-10x-faster-in.html),
+[On a HDD RAID 1+0 environment :octicons-link-external-16:](http://yoshinorimatsunobu.blogspot.hr/2013/10/making-full-table-scan-10x-faster-in.html),
more than 1000MB/s disk reads can be achieved by submitting 64 consecutive pages
-requests at once, while only
-160MB/s disk reads is shown by submitting single page request.
+requests at once, while only 160MB/s disk reads is shown by submitting single page request.
## Status variables
@@ -24,10 +23,6 @@ This variable shows the number of submitted buffered asynchronous I/O requests.
## Other reading
-* [Making full table scan 10x faster in InnoDB](https://yoshinorimatsunobu.blogspot.hr/2013/10/making-full-table-scan-10x-faster-in.html)
+* [Making full table scan 10x faster in InnoDB :octicons-link-external-16:](https://yoshinorimatsunobu.blogspot.hr/2013/10/making-full-table-scan-10x-faster-in.html)
-* [Bug #68659 InnoDB Linux native aio should submit more i/o requests at once](https://bugs.mysql.com/bug.php?id=68659)
-
-[linear read-ahead technique]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-performance-read_ahead.html
-
-[`innodb_read_ahead_threshold`]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_read_ahead_threshold
\ No newline at end of file
+* [Bug #68659 InnoDB Linux native aio should submit more i/o requests at once :octicons-link-external-16:](https://bugs.mysql.com/bug.php?id=68659)
diff --git a/docs/apt-download-deb.md b/docs/apt-download-deb.md
index ab0db88ada3..e74b989372f 100644
--- a/docs/apt-download-deb.md
+++ b/docs/apt-download-deb.md
@@ -1,6 +1,6 @@
# Install Percona Server for MySQL {{vers}} using downloaded DEB packages
-Download the packages from [Percona Product Downloads](https://www.percona.com/downloads). If needed, [Instructions for the Percona Product Download](download-instructions.md) are available.
+Download the packages from [Percona Product Downloads :octicons-link-external-16:](https://www.percona.com/downloads). If needed, [Instructions for the Percona Product Download](download-instructions.md) are available.
The following example downloads Percona Server for MySQL {{release}} release packages for Ubuntu 22.04:
diff --git a/docs/apt-pinning.md b/docs/apt-pinning.md
index 7f20c881aed..13e64028620 100644
--- a/docs/apt-pinning.md
+++ b/docs/apt-pinning.md
@@ -12,4 +12,4 @@ Pin: release o=Percona Development Team
Pin-Priority: 1001
```
-For more information about the pinning, you can check the official [debian wiki](https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences).
+For more information about the pinning, you can check the official [debian wiki :octicons-link-external-16:](https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences).
diff --git a/docs/apt-repo.md b/docs/apt-repo.md
index 40758980f05..d8088b0a6bc 100644
--- a/docs/apt-repo.md
+++ b/docs/apt-repo.md
@@ -1,8 +1,8 @@
# Use an APT repository to install Percona Server for MySQL {{vers}}
-Ready-to-use packages are available from the Percona Server for MySQL software repositories and the [Percona downloads] page.
+Ready-to-use packages are available from the Percona Server for MySQL software repositories and the [Percona downloads :octicons-link-external-16:](https://www.percona.com/downloads/Percona-Server-{{vers}}/) page.
-Specific information on the supported platforms, products, and versions is described in [Percona Software and Platform Lifecycle](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
+Specific information on the supported platforms, products, and versions is described in [Percona Software and Platform Lifecycle :octicons-link-external-16:](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
--8<-- "percona-release.md"
@@ -272,7 +272,7 @@ To install Percona Server for MySQL using APT, follow these steps:
* Review error messages for specific issues
-See [Configuring Percona repositories with `percona-release`](https://docs.percona.com/percona-software-repositories/percona-release.html) for more information.
+See [Configuring Percona repositories with `percona-release` :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/percona-release.html) for more information.
--8<--- "storage-engines.md"
@@ -282,7 +282,7 @@ After successful installation, see [Post-installation](post-installation.md) for
## Install Percona Toolkit UDFs (Optional)
-Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit](https://docs.percona.com/percona-toolkit/). These UDFs provide faster checksum calculations:
+Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/). These UDFs provide faster checksum calculations:
* `fnv_64`: Fast hash function
@@ -377,6 +377,4 @@ $ sudo apt update
All packages are up to date.
```
-[Percona downloads]: https://www.percona.com/downloads/Percona-Server-{{vers}}/
-
[Telemetry data]: telemetry.md
\ No newline at end of file
diff --git a/docs/audit-log-filter-variables.md b/docs/audit-log-filter-variables.md
index 067d19f149b..199d70412fc 100644
--- a/docs/audit-log-filter-variables.md
+++ b/docs/audit-log-filter-variables.md
@@ -676,7 +676,7 @@ This read-only variable specifies the syslog tag value. This variable requires a
| Data type | String |
| Default | LOG_USER |
-This read-only variable specifies the syslog `facility` value. This variable requires a server restart to change. The option has the same meaning as the appropriate parameter described in the [syslog(3) manual](https://man7.org/linux/man-pages/man3/syslog.3.html).
+This read-only variable specifies the syslog `facility` value. This variable requires a server restart to change. The option has the same meaning as the appropriate parameter described in the [syslog(3) manual :octicons-link-external-16:](https://man7.org/linux/man-pages/man3/syslog.3.html).
### `audit_log_filter.syslog_priority`
@@ -689,7 +689,7 @@ This read-only variable specifies the syslog `facility` value. This variable req
| Data type | String |
| Default | LOG_INFO |
-This read-only variable defines the `priority` value for the syslog. This variable requires a server restart to change. The option has the same meaning as the appropriate parameter described in the [syslog(3) manual](https://man7.org/linux/man-pages/man3/syslog.3.html).
+This read-only variable defines the `priority` value for the syslog. This variable requires a server restart to change. The option has the same meaning as the appropriate parameter described in the [syslog(3) manual :octicons-link-external-16:](https://man7.org/linux/man-pages/man3/syslog.3.html).
## Audit log filter status variables
diff --git a/docs/backup-restore-overview.md b/docs/backup-restore-overview.md
index e47d3f201bf..89082e469f8 100644
--- a/docs/backup-restore-overview.md
+++ b/docs/backup-restore-overview.md
@@ -52,7 +52,7 @@ A backup can be either a physical backup or a logical backup.
A physical backup copies the files needed to store and recover the database. They can be data files, configuration files,
logs, and other types of files. The physical database can be stored in the cloud, in offline storage, on disc, or tape.
-[Percona XtraBackup] takes a physical backup. You can also
+[Percona XtraBackup :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/{{vers}}/index.html) takes a physical backup. You can also
use RDS/LVM Snapshots or the MySQL Enterprise Backup.
If the server is stopped or down, you can copy the datadir with the `cp` command or the `rsync` command.
@@ -61,10 +61,10 @@ If the server is stopped or down, you can copy the datadir with the `cp` command
A logical backup contains the structural details. This type of backup contains tables, views, procedures, and functions.
-Tools like [`mysqldump`],
-[`mydumper`],
-[`mysqlpump`], and
-[`mysql shell`] take a logical backup.
+Tools like [`mysqldump` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysqldump.html),
+[`mydumper` :octicons-link-external-16:](https://github.com/mydumper/mydumper)
+[`mysqlpump` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysqlpump.html), and
+[`mysql shell` :octicons-link-external-16:](https://dev.mysql.com/doc/mysql-shell/{{vers}}/en/mysql-shell-utilities-dump-instance-schema.html) take a logical backup.
### Comparison
@@ -73,9 +73,3 @@ Tools like [`mysqldump`],
| Content | The physical database files | The tables, users, procedures, and functions |
| Restore speed | Restore can be quick | Restore can be slower and does not include file information. |
| Storage | Can take more space | Based on what is selected, the backup can be smaller |
-
-[`mysqldump`]: https://dev.mysql.com/doc/refman/{{vers}}/en/mysqldump.html
-[`mydumper`]: https://github.com/mydumper/mydumper
-[`mysqlpump`]: https://dev.mysql.com/doc/refman/{{vers}}/en/mysqlpump.html
-[`mysql shell`]: https://dev.mysql.com/doc/mysql-shell/{{vers}}/en/mysql-shell-utilities-dump-instance-schema.html
-[Percona XtraBackup]: https://docs.percona.com/percona-xtrabackup/innovation-release/index.html
\ No newline at end of file
diff --git a/docs/binary-tarball-install.md b/docs/binary-tarball-install.md
index 32d779a679f..9c7c9912ddb 100644
--- a/docs/binary-tarball-install.md
+++ b/docs/binary-tarball-install.md
@@ -4,13 +4,10 @@ A binary tarball contains a group of files, including the source code, bundled t
See the list of the [binary tarball available based on the Percona Server for MySQL version](binary-tarball-names.md) to select the right tarball for your environment.
-You can download the binary tarballs from the `Linux - Generic` [section] on the download page.
+You can download the binary tarballs from the `Linux - Generic` [section :octicons-link-external-16:](https://www.percona.com/downloads/Percona-Server-{{vers}}/LATEST/binary/tarball/) on the download page.
Fetch and extract the correct binary tarball. For example for Ubuntu 22.04:
```{.bash data-prompt="$"}
$ wget https://downloads.percona.com/downloads/Percona-Server-innovative-release/Percona-Server-{{release}}/binary/tarball/Percona-Server-{{release}}-Linux.x86_64.glibc2.35.tar.gz
```
-
-[section]: https://www.percona.com/downloads/Percona-Server-{{vers}}/LATEST/binary/tarball/
-
diff --git a/docs/binlogging-replication-improvements.md b/docs/binlogging-replication-improvements.md
index f6945f0efa5..78754333d38 100644
--- a/docs/binlogging-replication-improvements.md
+++ b/docs/binlogging-replication-improvements.md
@@ -70,7 +70,7 @@ log regardless of the value of the binlog_skip_flush_command variable.
any user (even by those with the `SUPER` privilege) are not written to the
binary log regardless of the value of the binlog_skip_flush_commands variable.
-An attempt to run a `FLUSH` command without either [`SUPER`](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_super) or [`RELOAD`](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_reload)
+An attempt to run a `FLUSH` command without either [`SUPER`](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_super :octicons-link-external-16:) or [`RELOAD`](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_reload :octicons-link-external-16:)
privileges results in the `ER_SPECIFIC_ACCESS_DENIED_ERROR` exception
regardless of the value of the `binlog_skip_flush_commands` variable.
@@ -231,7 +231,7 @@ The `binlog_utils_udf` component provides six functions for binary log analysis
* Binary log file names: Functions that accept a binary log name require only the short file name (for example, `binlog.000001`). Do not include the full path. If the input contains a path separator (`/`), the server returns an error.
-* Binary log directory: The server reads binary logs from the directory defined by the `@@log_bin_basename` system variable.
+* Binary log directory: The server reads binary logs from the directory defined by the [`@@log_bin_basename`](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#sysvar_log_bin_basename :octicons-link-external-16:) system variable.
* Return values: Functions that return binary log file names return only the short name without the path.
@@ -408,14 +408,8 @@ The query should return no rows if the component is successfully uninstalled.
For the following variables, do not define values with one or more dot (.) characters:
-* [log_bin]
+* [log_bin :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#option_mysqld_log-bin)
-* [log_bin_index]
+* [log_bin_index :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#option_mysqld_log-bin-index)
A value defined with the dot (.) character is handled differently in MySQL and Percona XtraBackup and can cause unpredictable behavior.
-
-[@@log_bin_basename system variable]: https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#sysvar_log_bin_basename
-
-[log_bin]: https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#option_mysqld_log-bin
-
-[log_bin_index]: https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#option_mysqld_log-bin-index
\ No newline at end of file
diff --git a/docs/compile-percona-server.md b/docs/compile-percona-server.md
index cef574331a2..eb238d119d7 100644
--- a/docs/compile-percona-server.md
+++ b/docs/compile-percona-server.md
@@ -4,7 +4,7 @@ The following instructions install Percona Server for MySQL {{vers}}.
## Install Percona Server for MySQL from the Git Source Tree
-Percona uses the [Github](https://github.com/) revision
+Percona uses the [Github :octicons-link-external-16:](https://github.com/) revision
control system for development. To build the latest Percona Server for MySQL
from the source tree, you will need `git` installed on your system.
diff --git a/docs/copyright-and-licensing-information.md b/docs/copyright-and-licensing-information.md
index 76b1693a76c..f50ba6879f4 100644
--- a/docs/copyright-and-licensing-information.md
+++ b/docs/copyright-and-licensing-information.md
@@ -2,7 +2,7 @@
## Documentation licensing
-Percona Server for MySQL documentation is (C)2009-2025 Percona LLC and/or its affiliates and is distributed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
+Percona Server for MySQL documentation is (C)2009-2025 Percona LLC and/or its affiliates and is distributed under the [Creative Commons Attribution 4.0 International License :octicons-link-external-16:](https://creativecommons.org/licenses/by/4.0/).
## Software license
diff --git a/docs/data-at-rest-encryption.md b/docs/data-at-rest-encryption.md
index 4ebb6991bc6..d1fadfbdd74 100644
--- a/docs/data-at-rest-encryption.md
+++ b/docs/data-at-rest-encryption.md
@@ -40,6 +40,4 @@ layer, added to the buffer pool, and used to access the data. A buffer pool page
Percona XtraBackup version {{vers}} supports the backup of encrypted general tablespaces.
-Percona XtraBackup only supports features that are [Generally Available (GA)](glossary.md#general-availability-ga) in Percona Server for MySQL. Due to time constraints, a GA feature may be supported in a later Percona XtraBackup release. Review the [Percona XtraBackup release notes] for more information.
-
-[Percona XtraBackup release notes]: https://docs.percona.com/percona-xtrabackup/{{vers}}/release-notes/release-notes.html
+Percona XtraBackup only supports features that are [Generally Available (GA)](glossary.md#general-availability-ga) in Percona Server for MySQL. Due to time constraints, a GA feature may be supported in a later Percona XtraBackup release. Review the [Percona XtraBackup release notes :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/innovation-release/release-notes/release-notes.html) for more information.
diff --git a/docs/data-masking-function-list.md b/docs/data-masking-function-list.md
index c7d4824bdb5..53ca62490bb 100644
--- a/docs/data-masking-function-list.md
+++ b/docs/data-masking-function-list.md
@@ -168,7 +168,7 @@ None.
### Returns
-Returns a Canada SIN formatted in three groups of three digits (for example, 123-456-789) in the `utf8mb4` character set. To ensure the number is consistent, the number is verified with the [Luhn algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm).
+Returns a Canada SIN formatted in three groups of three digits (for example, 123-456-789) in the `utf8mb4` character set. To ensure the number is consistent, the number is verified with the [Luhn algorithm :octicons-link-external-16:](https://en.wikipedia.org/wiki/Luhn_algorithm).
### Example
diff --git a/docs/development.md b/docs/development.md
index 2c791504ebb..cfd6ab7398b 100644
--- a/docs/development.md
+++ b/docs/development.md
@@ -11,7 +11,7 @@ any time and to minimize wasted time by developers due to broken code.
### Overview
-At Percona we use [Git](https://git-scm.com) for source control, [GitHub](https://github.com/percona) for code hosting, and [Jira](https://jira.percona.com) for release management.
+At Percona we use [Git :octicons-link-external-16:](https://git-scm.com) for source control, [GitHub :octicons-link-external-16:](https://github.com/percona) for code hosting, and [Jira :octicons-link-external-16:](https://perconadev.atlassian.net/) for release management.
We change our software to implement new features and/or to fix bugs. Refactoring
could be classed either as a new feature or a bug depending on the scope of
diff --git a/docs/docker.md b/docs/docker.md
index 955fd9a2564..c1275da65fc 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -1,6 +1,6 @@
# Running Percona Server for MySQL in a Docker Container
-Percona Server for MySQL has an official Docker image hosted on [Docker Hub](https://hub.docker.com/r/percona/percona-server/). Download a specific version by adding the [Docker tag filter for the {{vers}} versions].
+Percona Server for MySQL has an official Docker image hosted on [Docker Hub :octicons-link-external-16:](https://hub.docker.com/r/percona/percona-server/). Download a specific version by adding the [Docker tag filter for the {{vers}} versions :octicons-link-external-16:](https://registry.hub.docker.com/r/percona/percona-server/tags?page=1&name={{vers}}).
We gather [Telemetry data] in the Percona packages and Docker images.
@@ -253,6 +253,4 @@ $ docker rm ps
Review the [Docker Docs](https://docs.docker.com/)
-[Docker tag filter for the {{vers}} versions]: https://registry.hub.docker.com/r/percona/percona-server/tags?page=1&name={{vers}}
-
[Telemetry data]: telemetry.md
\ No newline at end of file
diff --git a/docs/download-instructions.md b/docs/download-instructions.md
index c28a845a37a..c7ff80a774b 100644
--- a/docs/download-instructions.md
+++ b/docs/download-instructions.md
@@ -4,7 +4,7 @@
Do the following steps to select the software:
-1. Open [Percona Software Downloads](https://www.percona.com/downloads)
+1. Open [Percona Software Downloads :octicons-link-external-16:](https://www.percona.com/downloads)
2. Locate the Percona Software, for example, Percona Server for MySQL
3. In `Select Product`, select the which product, for example, Percona Server {{vers}}
4. In `Select Product Version`, select the version, for example, PERCONA-SERVER-{{release}}
diff --git a/docs/encrypt-tablespaces.md b/docs/encrypt-tablespaces.md
index 96413911ca3..fc5e2c44d92 100644
--- a/docs/encrypt-tablespaces.md
+++ b/docs/encrypt-tablespaces.md
@@ -75,7 +75,7 @@ mysql> CREATE TABLESPACE tablespace_name ENCRYPTION='Y';
All tables contained in the tablespace are either encrypted or not encrypted.
You cannot encrypt only some of the tables in a general tablespace. This
-feature extends the [CREATE TABLESPACE](https://dev.mysql.com/doc/refman/8.0/en/create-tablespace.html) statement to
+feature extends the [CREATE TABLESPACE :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.0/en/create-tablespace.html) statement to
accept the `ENCRYPTION='Y/N'` option.
The option is a tablespace attribute and is not allowed with the `CREATE TABLE` or `SHOW CREATE TABLE` statement except with file-per-table tablespaces.
diff --git a/docs/encryption-functions.md b/docs/encryption-functions.md
index 9aa445a761c..06c20801ccb 100644
--- a/docs/encryption-functions.md
+++ b/docs/encryption-functions.md
@@ -20,11 +20,11 @@ Percona Server for MySQL 8.4.4 adds the following:
`pkcs1` padding explanation
- [`RSAES-PKCS1-v1_5`](https://en.wikipedia.org/wiki/PKCS_1) RSA encryption padding scheme prevents patterns that attackers could exploit by including a random sequence of bytes, which ensures that the ciphertext is different no matter how many times it is encrypted.
+ [`RSAES-PKCS1-v1_5` :octicons-link-external-16:](https://en.wikipedia.org/wiki/PKCS_1) RSA encryption padding scheme prevents patterns that attackers could exploit by including a random sequence of bytes, which ensures that the ciphertext is different no matter how many times it is encrypted.
`oaep` padding explanation
- The [`RSAES-OAEP`](https://en.wikipedia.org/wiki/PKCS_1) - [`Optimal Asymmetric Encryption Padding`](https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding) RSA encryption padding scheme adds a randomized mask generation function. This function makes it more difficult for attackers to exploit the encryption algorithm's weaknesses or recover the original message.
+ The [`RSAES-OAEP` :octicons-link-external-16:](https://en.wikipedia.org/wiki/PKCS_1) - [`Optimal Asymmetric Encryption Padding` :octicons-link-external-16:](https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding) RSA encryption padding scheme adds a randomized mask generation function. This function makes it more difficult for attackers to exploit the encryption algorithm's weaknesses or recover the original message.
`no` padding explanation
@@ -35,11 +35,11 @@ Percona Server for MySQL 8.4.4 adds the following:
`pkcs1` padding explanation
- The [`RSASSA-PKCS1-v1_5`](https://en.wikipedia.org/wiki/PKCS_1) is a deterministic RSA signature padding scheme that hashes a message, pads the hash with a specific structure, and encrypts it with the signer's private key for signature generation.
+ The [`RSASSA-PKCS1-v1_5` :octicons-link-external-16:](https://en.wikipedia.org/wiki/PKCS_1) is a deterministic RSA signature padding scheme that hashes a message, pads the hash with a specific structure, and encrypts it with the signer's private key for signature generation.
`pkcs1_pss` padding explanation
- The [`RSASSA-PSS`](https://en.wikipedia.org/wiki/PKCS_1) - [`Probabilistic Signature Scheme'](https://en.wikipedia.org/wiki/Probabilistic_signature_scheme) is an RSA signature padding scheme used to add randomness to a message before signing it with a private key. This randomness helps to increase the security of the signature and makes it more resistant to various attacks.
+ The [`RSASSA-PSS` :octicons-link-external-16:](https://en.wikipedia.org/wiki/PKCS_1) - [`Probabilistic Signature Scheme' :octicons-link-external-16:](https://en.wikipedia.org/wiki/Probabilistic_signature_scheme) is an RSA signature padding scheme used to add randomness to a message before signing it with a private key. This randomness helps to increase the security of the signature and makes it more resistant to various attacks.
* [`encryption_udf.legacy_paddding`](#legacy_padding) system variable
@@ -72,7 +72,7 @@ When choosing key lengths, consider the following:
## Install component_encryption_udf
-Use the [Install Component Statement] to add the component_encryption_udf component. The functions and variables are available. The user-defined functions and the Encryption threshold variables are auto-registered. There is no requirement to invoke `CREATE FUNCTION ... SONAME ...`.
+Use the [Install Component Statement](https://dev.mysql.com/doc/refman/{{vers}}/en/install-component.html) to add the component_encryption_udf component. The functions and variables are available. The user-defined functions and the Encryption threshold variables are auto-registered. There is no requirement to invoke `CREATE FUNCTION ... SONAME ...`.
The `INSERT` privilege on the `mysql.component` system table is required to run the `INSTALL COMPONENT` statement. The operation adds a row to this table to register the component.
@@ -540,11 +540,8 @@ mysql> INSERT INTO key_table VALUES(create_asymmetric_priv_key('RSA', 3072));
## Uninstall component_encryption_udf
-You can deactivate and uninstall the component using the [Uninstall Component statement].
+You can deactivate and uninstall the component using the [Uninstall Component statement](https://dev.mysql.com/doc/refman/{{vers}}/en/uninstall-component.html).
```{.bash data-prompt="mysql>"}
mysql> UNINSTALL COMPONENT 'file://component_encryption_udf';
```
-
-[Install Component Statement]: https://dev.mysql.com/doc/refman/{{vers}}/en/install-component.html
-[Uninstall Component statement]: https://dev.mysql.com/doc/refman/{{vers}}/en/uninstall-component.html
\ No newline at end of file
diff --git a/docs/extended-select-into-outfile.md b/docs/extended-select-into-outfile.md
index a8d5f34e2ec..27f42eb58bb 100644
--- a/docs/extended-select-into-outfile.md
+++ b/docs/extended-select-into-outfile.md
@@ -1,12 +1,10 @@
# Extended SELECT INTO OUTFILE/DUMPFILE
Percona Server for MySQL extends the `SELECT INTO ... OUTFILE` and `SELECT INTO
-DUMPFILE` [commands] to add support for UNIX sockets and named pipes. Before this was implemented
+DUMPFILE` [commands :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/select-into.html) to add support for UNIX sockets and named pipes. Before this was implemented
the database would return an error for such files.
This feature allows using `LOAD DATA LOCAL INFILE` in combination with
`SELECT INTO OUTFILE` to quickly load multiple partitions across the network
or in other setups, without having to use an intermediate file that wastes
space and I/O.
-
-[commands]: https://dev.mysql.com/doc/refman/{{vers}}/en/select-into.html
diff --git a/docs/faq.md b/docs/faq.md
index 50bbcba0d1c..d2d68742a25 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -10,7 +10,7 @@ Support team members that they have customers who use *Percona Server for MySQL*
## Q: Will we have to *GPL* our whole application if we use *Percona Server for MySQL* with *XtraDB*?
A: This is a common misconception about the *GPL*. We suggest reading the *Free
-Software Foundation* ‘s excellent reference material on the [GPL Version 2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html), which is the license
+Software Foundation* ‘s excellent reference material on the [GPL Version 2 :octicons-link-external-16:](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html), which is the license
that applies to *MySQL* and therefore to *Percona Server for MySQL* with *XtraDB*. That
document contains links to many other documents which should answer your
questions. *Percona* is unable to give legal advice about the *GPL*.
@@ -27,7 +27,4 @@ be sure that the password for `debian-sys-maint` user has been updated and
it’s the same as that user’s password from the server that the backup has been
taken from. The password can be seen and updated in
`/etc/mysql/debian.cnf`. For more information on how to set up a
-replication replica using *Percona XtraBackup* see [this how-to].
-
-[this how-to]: https://docs.percona.com/percona-xtrabackup/innovation-release/set-up-replication.html
-
+replication replica using *Percona XtraBackup* see [this how-to :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/innovation-release/set-up-replication.html).
diff --git a/docs/fido-authentication-plugin.md b/docs/fido-authentication-plugin.md
index cb2f9c9b731..cdcf92db050 100644
--- a/docs/fido-authentication-plugin.md
+++ b/docs/fido-authentication-plugin.md
@@ -18,11 +18,11 @@ The plugin and library file names are listed in the following table.
## Install the FIDO authentication plugin
-The library file must be stored in the directory named by the [`plugin_dir`] variable.
+The library file must be stored in the directory named by the [`plugin_dir` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_plugin_dir) variable.
=== "At server startup"
- At server startup, use the [`--plugin_load_add`] option with the library name. The option must be added each time the server starts.
+ At server startup, use the [`--plugin_load_add` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-options.html#option_mysqld_plugin-load-add) option with the library name. The option must be added each time the server starts.
=== "Edit my.cnf and restart the server"
@@ -42,7 +42,7 @@ The library file must be stored in the directory named by the [`plugin_dir`] var
### Verify installation
-Use the [`SHOW PLUGINS`] statement or query the `INFORMATION_SCHEMA.PLUGINS` table to verify that the plugin was loaded successfully and is active.
+Use the [`SHOW PLUGINS` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/show-plugins.html) statement or query the `INFORMATION_SCHEMA.PLUGINS` table to verify that the plugin was loaded successfully and is active.
Check the server error log if the plugin is not loaded.
@@ -72,7 +72,7 @@ If FIDO is used as the only method of authentication, the method does not use a
The user creates an account with the `PASSWORDLESS_USER_ADMIN` privilege and the `CREATE USER` privilege.
-The first element of the `authentication_policy` value must be an asterisk(*). Do not start with the plugin name. [Configuring the `authentication policy` value] has more information.
+The first element of the `authentication_policy` value must be an asterisk(*). Do not start with the plugin name. [Configuring the `authentication policy` value :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/multifactor-authentication.html#multifactor-authentication-policy) has more information.
You must include the `INITIAL AUTHENTICATION IDENTIFIED BY` clause in the `CREATE USER` statement. The server does accept the statement without the clause but the account is unusable because the user cannot connect to the server to register the device.
@@ -98,8 +98,3 @@ Unregister a device with the following statement:
```{.bash data-prompt="mysql>"}
mysql> ALTER USER `username`@`hostname` {2|3} FACTOR UNREGISTER;
```
-
-[`plugin_dir`]: https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_plugin_dir
-[`--plugin_load_add`]: https://dev.mysql.com/doc/refman/{{vers}}/en/server-options.html#option_mysqld_plugin-load-add
-[Configuring the `authentication policy` value]: https://dev.mysql.com/doc/refman/{{vers}}/en/multifactor-authentication.html#multifactor-authentication-policy
-[`SHOW PLUGINS`]: https://dev.mysql.com/doc/refman/{{vers}}/en/show-plugins.html
\ No newline at end of file
diff --git a/docs/get-help.md b/docs/get-help.md
index dc3fbbf9617..42b74abab15 100644
--- a/docs/get-help.md
+++ b/docs/get-help.md
@@ -6,9 +6,9 @@ Our documentation guides are packed with information, but they can’t cover eve
Be a part of a space where you can tap into a wealth of knowledge from other database enthusiasts and experts who work with Percona’s software every day. While our service is entirely free, keep in mind that response times can vary depending on the complexity of the question. You are engaging with people who genuinely love solving database challenges.
-We recommend visiting our [Community Forum](https://forums.percona.com/t/welcome-to-perconas-community-forum/7){:target="_blank"}. It’s an excellent place for discussions, technical insights, and support around Percona database software. If you’re new and feeling a bit unsure, our [FAQ](https://forums.percona.com/faq){:target="_blank"} and [Guide for New Users](https://forums.percona.com/t/faq-guide-for-new-users/8562){:target="_blank"} ease you in.
+We recommend visiting our [Community Forum :octicons-link-external-16:](https://forums.percona.com/t/welcome-to-perconas-community-forum/7). It’s an excellent place for discussions, technical insights, and support around Percona database software. If you’re new and feeling a bit unsure, our [FAQ :octicons-link-external-16:](https://forums.percona.com/faq) and [Guide for New Users :octicons-link-external-16:](https://forums.percona.com/t/faq-guide-for-new-users/8562) ease you in.
-If you have thoughts, feedback, or ideas, the community team would like to hear from you at [Any ideas on how to make the forum better?](https://forums.percona.com/t/any-ideas-on-how-to-make-the-forum-better/11522){:target="blank"}. We’re always excited to connect and improve everyone's experience.
+If you have thoughts, feedback, or ideas, the community team would like to hear from you at [Any ideas on how to make the forum better? :octicons-link-external-16:](https://forums.percona.com/t/any-ideas-on-how-to-make-the-forum-better/11522). We’re always excited to connect and improve everyone's experience.
## Percona experts
diff --git a/docs/glossary.md b/docs/glossary.md
index 61d630bae4b..ff312b2ea11 100644
--- a/docs/glossary.md
+++ b/docs/glossary.md
@@ -40,7 +40,7 @@ A [Storage Engine](#storage-engine) for MySQL and derivatives ([Percona Server](
## Jenkins
-[Jenkins](https://www.jenkins-ci.org) is a continuous integration system that we use to help ensure the continued quality of the software we produce. It helps us achieve the aims of:
+[Jenkins :octicons-link-external-16:](https://www.jenkins-ci.org) is a continuous integration system that we use to help ensure the continued quality of the software we produce. It helps us achieve the aims of:
* no failed tests in the trunk on any platform
@@ -70,7 +70,7 @@ An open source database that has spawned several distributions and forks. MySQL
## NUMA
-Non-Uniform Memory Access ([NUMA](https://en.wikipedia.org/wiki/Non-Uniform_Memory_Access)) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to a processor. Under NUMA, a processor can access its own local memory faster than non-local memory, that is, memory local to another processor or memory shared between processors. The whole system may still operate as one unit, and all memory is basically accessible from everywhere but at a potentially higher latency and lower performance.
+Non-Uniform Memory Access ([NUMA :octicons-link-external-16:](https://en.wikipedia.org/wiki/Non-Uniform_Memory_Access)) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to a processor. Under NUMA, a processor can access its own local memory faster than non-local memory, that is, memory local to another processor or memory shared between processors. The whole system may still operate as one unit, and all memory is basically accessible from everywhere but at a potentially higher latency and lower performance.
## Percona Server for MySQL
diff --git a/docs/group-replication-flow-control.md b/docs/group-replication-flow-control.md
index 1b04e725f59..d60f9a62c4c 100644
--- a/docs/group-replication-flow-control.md
+++ b/docs/group-replication-flow-control.md
@@ -11,12 +11,8 @@ Flow controls work asynchronously and depend on the following:
The following system variables set flow control behavior for Group Replication:
-* [group_replication_flow_control_mode]
-* [group_replication_flow_control_certifier_threshold]
-* [group_replication_flow_control_applier_threshold]
+* [group_replication_flow_control_mode :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_mode)
+* [group_replication_flow_control_certifier_threshold :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options)
+* [group_replication_flow_control_applier_threshold :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_applier_threshold)
Flow control is enabled and disabled by selecting a value in the group_replication_flow_control_mode variable. Flow control can also be enabled on the certifier or applier level or both and sets the threshold level.
-
-[group_replication_flow_control_mode]: https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_mode
-[group_replication_flow_control_certifier_threshold]: https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_certifier_threshold
-[group_replication_flow_control_applier_threshold]: https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_applier_threshold
\ No newline at end of file
diff --git a/docs/group-replication-system-variables.md b/docs/group-replication-system-variables.md
index fe52a2caebc..a8429d153b6 100644
--- a/docs/group-replication-system-variables.md
+++ b/docs/group-replication-system-variables.md
@@ -72,6 +72,4 @@ The "MAJORITY" value is in [tech preview](glossary.md#tech-preview) mode. Before
The variable specifies the mode use for flow control.
-Percona Server for MySQL adds the "MAJORITY" value to the [group_replication_flow_control_mode] variable. In "MAJORITY" mode, [flow control](group-replication-flow-control.md) is activated only if the majority, more than half the number of members, exceed the flow control threshold. The other values are not changed.
-
-[group_replication_flow_control_mode]: https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_mode
\ No newline at end of file
+Percona Server for MySQL adds the "MAJORITY" value to the [group_replication_flow_control_mode :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication-options.html#sysvar_group_replication_flow_control_mode) variable. In "MAJORITY" mode, [flow control](group-replication-flow-control.md) is activated only if the majority, more than half the number of members, exceed the flow control threshold. The other values are not changed.
diff --git a/docs/improved-memory-engine.md b/docs/improved-memory-engine.md
index fcfd3244af8..3045ebf1731 100644
--- a/docs/improved-memory-engine.md
+++ b/docs/improved-memory-engine.md
@@ -4,7 +4,7 @@ A *Fixed Row Format* (`FRF`) is used in the `MEMORY` storage engine. The fixed r
To overcome this limitation, the *Improved MEMORY Storage Engine* is introduced in this release for supporting **true** `VARCHAR`, `VARBINARY`, `TEXT`, and `BLOB` fields in the `MEMORY` tables.
-This implementation is based on the *Dynamic Row Format* (`DFR`) introduced by the [mysql-heap-dynamic-rows](https://code.google.com/archive/p/mysql-heap-dynamic-rows/) patch.
+This implementation is based on the *Dynamic Row Format* (`DFR`) introduced by the [mysql-heap-dynamic-rows :octicons-link-external-16:](https://code.google.com/archive/p/mysql-heap-dynamic-rows/) patch.
`DFR` is used to store column values in a variable-length form, thus helping to decrease the memory footprint of those columns and making possible `BLOB` and `TEXT` fields and real `VARCHAR` and `VARBINARY`.
@@ -184,4 +184,4 @@ Total chunk length is always aligned to the next `sizeof(uchar\*)`.
!!! admonition "See also"
- [Dynamic row format for MEMORY tables](https://www.mysqlperformanceblog.com/2011/09/06/dynamic-row-format-for-memory-tables/)
+ [Dynamic row format for MEMORY tables :octicons-link-external-16:](https://www.mysqlperformanceblog.com/2011/09/06/dynamic-row-format-for-memory-tables/)
diff --git a/docs/index-info-schema-tables.md b/docs/index-info-schema-tables.md
index 2c8d54c297c..328fbc6ccc4 100644
--- a/docs/index-info-schema-tables.md
+++ b/docs/index-info-schema-tables.md
@@ -10,7 +10,7 @@ This is a list of the `INFORMATION_SCHEMA TABLES` that exist in Percona Server f
* [PROCFS](procfs-plugin.md#procfs)
-* [INFORMATION_SCHEMA.QUERY_RESPONSE_TIME](https://docs.percona.com/percona-server/5.7/diagnostics/response_time_distribution.html#query-response-time)
+* [INFORMATION_SCHEMA.QUERY_RESPONSE_TIME :octicons-link-external-16:](https://docs.percona.com/percona-server/5.7/diagnostics/response_time_distribution.html#query-response-time)
* [INFORMATION_SCHEMA.TABLE_STATISTICS](user-stats.md#information_schematable_statistics)
diff --git a/docs/index.md b/docs/index.md
index 4b9213ea11a..b8873e2eaa5 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -12,7 +12,7 @@ Thousands of enterprises trust Percona Server for MySQL to provide better perfor
Percona Monitoring and Management (PMM )monitors and provides actionable performance data for MySQL variants, including Percona Server for MySQL, Percona XtraDB Cluster, Oracle MySQL Community Edition, Oracle MySQL Enterprise Edition, and MariaDB. PMM captures metrics and data for the InnoDB, XtraDB, and MyRocks storage engines, and has specialized dashboards for specific engine details.
-[Get started with PMM](https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html).
+[Get started with PMM :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html).
--8<--- "get-help-snip.md"
diff --git a/docs/innodb-corrupt-table-action.md b/docs/innodb-corrupt-table-action.md
index bbfb15fea27..4a891b46681 100644
--- a/docs/innodb-corrupt-table-action.md
+++ b/docs/innodb-corrupt-table-action.md
@@ -20,12 +20,13 @@ variable having a non-default value.
!!! warning "Complex Database Recovery Scenarios"
Navigating table corruption and recovery can be challenging.
- [Percona Support](https://www.percona.com/services/support) offers
+ [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) offers
expert guidance for complex database recovery and optimization
strategies.
For more information about the innodb_force_recovery variable, see
-[Forcing InnoDB Recovery] from the MySQL Reference Manual.
+[Forcing InnoDB Recovery :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/
+forcing-innodb-recovery.html) from the MySQL Reference Manual.
This feature adds a system variable.
@@ -56,6 +57,3 @@ This feature adds a system variable.
* Enabling `innodb_file_per_table` and using the `salvage` value causes
*XtraDB* to allow read access to the corrupted tablespace but ignores
any corrupted pages.
-
-[Forcing InnoDB Recovery]: https://dev.mysql.com/doc/refman/{{vers}}/en/
-forcing-innodb-recovery.html
diff --git a/docs/innodb-expanded-fast-index-creation.md b/docs/innodb-expanded-fast-index-creation.md
index 38e979229ce..be88645c5f1 100644
--- a/docs/innodb-expanded-fast-index-creation.md
+++ b/docs/innodb-expanded-fast-index-creation.md
@@ -85,8 +85,8 @@ this case *InnoDB* picks such an index as the clustered one.
!!! admonition "See also"
- [Improved InnoDB fast index creation](https://www.mysqlperformanceblog.com/2011/11/06/improved-innodb-fast-index-creation/)
+ [Improved InnoDB fast index creation :octicons-link-external-16:](https://www.mysqlperformanceblog.com/2011/11/06/improved-innodb-fast-index-creation/)
- [Thinking about running OPTIMIZE on your InnoDB Table? Stop!](https://www.mysqlperformanceblog.com/2010/12/09/thinking-about-running-optimize-on-your-innodb-table-stop/)
+ [Thinking about running OPTIMIZE on your InnoDB Table? Stop! :octicons-link-external-16:](https://www.mysqlperformanceblog.com/2010/12/09/thinking-about-running-optimize-on-your-innodb-table-stop/)
diff --git a/docs/innodb-fragmentation-count.md b/docs/innodb-fragmentation-count.md
index 71536bd53dc..ed90e2fa61d 100644
--- a/docs/innodb-fragmentation-count.md
+++ b/docs/innodb-fragmentation-count.md
@@ -69,8 +69,6 @@ This variable shows the total seek distance when moving between pages.
## Related reading
-* [InnoDB: look after fragmentation](https://www.percona.com/blog/2009/11/05/innodb-look-after-fragmentation/)
+* [InnoDB: look after fragmentation :octicons-link-external-16:](https://www.percona.com/blog/2009/11/05/innodb-look-after-fragmentation/)
-* [Defragmenting a Table]
-
-[Defragmenting a Table]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-file-defragmenting.html
+* [Defragmenting a Table :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-file-defragmenting.html)
diff --git a/docs/innodb-fts-improvements.md b/docs/innodb-fts-improvements.md
index 973ef553f38..b53059dddeb 100644
--- a/docs/innodb-fts-improvements.md
+++ b/docs/innodb-fts-improvements.md
@@ -2,7 +2,7 @@
# Ignoring stopword list
-By default, all Full-Text Search indexes check the [stopwords list], to see if any indexed elements contain words on that list.
+By default, all Full-Text Search indexes check the [stopwords list :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/fulltext-stopwords.html), to see if any indexed elements contain words on that list.
Using this list for n-gram indexes isn’t always suitable, for example, any
item that contains `a` or `i` will be ignored. Another word that can’t be
@@ -16,7 +16,7 @@ To resolve this issue, *Percona Server for MySQL* has the
Although this variable is introduced to resolve n-gram issues, it affects all Full-Text Search indexes as well.
Being a stopword doesn’t just mean being one of the predefined
-words from the list. Tokens shorter than [innodb_ft_min_token_size] or longer than [innodb_ft_max_token_size] are also considered stopwords. Therefore, when
+words from the list. Tokens shorter than [innodb_ft_min_token_size :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_ft_min_token_size) or longer than [innodb_ft_max_token_size :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size) are also considered stopwords. Therefore, when
innodb_ft_ignore_stopwords is set to `ON` even for non-ngram
FTS, `innodb_ft_min_token_size` / `innodb_ft_max_token_size` will be
ignored meaning that in this case very short and very long words will
@@ -36,7 +36,4 @@ also be indexed.
| Default | OFF |
When enabled, this variable will instruct *InnoDB* Full Text Search parser to ignore the stopword list when building/updating an FTS index.
-
-[stopwords list]: https://dev.mysql.com/doc/refman/{{vers}}/en/fulltext-stopwords.html
-[innodb_ft_min_token_size]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_ft_min_token_size
-[innodb_ft_max_token_size]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/innodb-show-status.md b/docs/innodb-show-status.md
index 6c9a2ff6b49..db930bd8acd 100644
--- a/docs/innodb-show-status.md
+++ b/docs/innodb-show-status.md
@@ -329,7 +329,7 @@ buffer pool.
| Data type | Numeric |
This variable shows the total number of buffer pool pages which are considered
-to be old according to the [Making the Buffer Pool Scan Resistant manual page].
+to be old according to the [Making the Buffer Pool Scan Resistant manual page](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-performance-midpoint_insertion.html).
### TRANSACTIONS
@@ -419,9 +419,6 @@ InnoDB/XtraDB hash tables.
## Other reading
-* [SHOW INNODB STATUS walk through](https://www.percona.com/blog/show-innodb-status-walk-through/)
+* [SHOW INNODB STATUS walk through :octicons-link-external-16:](https://www.percona.com/blog/show-innodb-status-walk-through/)
-* [Table locks in SHOW INNODB STATUS](https://www.percona.com/blog/table-locks-in-show-innodb-status/)
-
-
-[Making the Buffer Pool Scan Resistant manual page]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-performance-midpoint_insertion.html
\ No newline at end of file
+* [Table locks in SHOW INNODB STATUS :octicons-link-external-16:](https://www.percona.com/blog/table-locks-in-show-innodb-status/)
diff --git a/docs/install-myrocks.md b/docs/install-myrocks.md
index 48bebc0c970..8f0e83fad5e 100644
--- a/docs/install-myrocks.md
+++ b/docs/install-myrocks.md
@@ -16,7 +16,7 @@ plugin for Percona Server for MySQL {{vers}} and later versions.
It is recommended to install Percona software from official repositories:
{.power-number}
-1. Configure Percona repositories as described in [Percona Software Repositories Documentation](https://docs.percona.com/percona-software-repositories/index.html).
+1. Configure Percona repositories as described in [Percona Software Repositories Documentation :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/index.html).
2. Install Percona MyRocks using the corresponding package manager:
@@ -109,7 +109,7 @@ for every table that you create.
### Install MyRocks plugins
-You can install MyRocks manually with a series of [INSTALL PLUGIN] statements. You must have the `INSERT` privilege for the `mysql.plugin` system table.
+You can install MyRocks manually with a series of [INSTALL PLUGIN :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/install-plugin.html) statements. You must have the `INSERT` privilege for the `mysql.plugin` system table.
The following statements install MyRocks:
@@ -180,7 +180,7 @@ and restart *Percona Server for MySQL*.
### Uninstall MyRocks plugins
-You can [uninstall the plugins] for MyRocks. You must have the `DELETE` privilege for the `mysql.plugin` system table.
+You can [uninstall the plugins :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/uninstall-plugin.html) for MyRocks. You must have the `DELETE` privilege for the `mysql.plugin` system table.
The following statements remove the MyRocks plugins:
@@ -201,6 +201,3 @@ UNINSTALL PLUGIN ROCKSDB_LOCKS;
UNINSTALL PLUGIN ROCKSDB_TRX;
UNINSTALL PLUGIN ROCKSDB_DEADLOCK;
```
-[INSTALL PLUGIN]: https://dev.mysql.com/doc/refman/{{vers}}/en/install-plugin.html
-
-[uninstall the plugins]: https://dev.mysql.com/doc/refman/{{vers}}/en/uninstall-plugin.html
\ No newline at end of file
diff --git a/docs/jemalloc-profiling.md b/docs/jemalloc-profiling.md
index 1b9fa6095b7..095923766cf 100644
--- a/docs/jemalloc-profiling.md
+++ b/docs/jemalloc-profiling.md
@@ -141,13 +141,13 @@ dot -Tpng /tmp/jeprof1.dot > /tmp/jeprof1.png
!!! note
- An example of [allocation graph](https://github.com/jemalloc/jemalloc/wiki/Use-Case%3A-Leak-Checking).
+ An example of [allocation graph :octicons-link-external-16:](https://github.com/jemalloc/jemalloc/wiki/Use-Case%3A-Leak-Checking).
## PERFORMANCE_SCHEMA tables
The following tables are implemented to retrieve memory allocation statistics for a running instance or return the cumulative number of allocations requested or allocations returned for a running instance.
-More information about the stats that are returned can be found in [jemalloc](https://jemalloc.net/jemalloc.3.html).
+More information about the stats that are returned can be found in [jemalloc :octicons-link-external-16:](https://jemalloc.net/jemalloc.3.html).
## malloc_stats_totals
diff --git a/docs/js-lang-overview.md b/docs/js-lang-overview.md
index f8e4ff1d153..91d9ee0348b 100644
--- a/docs/js-lang-overview.md
+++ b/docs/js-lang-overview.md
@@ -18,9 +18,9 @@ You can use stored procedures and functions written in JS with a MySQL-compatibl
## Limitations
-The JS procedure parameters cannot be [JS reserved words](https://developer.mozilla.org/en-US/docs/Web/JS/Reference/Lexical_grammar#reserved_words) and must be [legal JS identifiers](https://www.capscode.in/blog/valid-identifier-in-js).
+The JS procedure parameters cannot be [JS reserved words :octicons-link-external-16:](https://developer.mozilla.org/en-US/docs/Web/JS/Reference/Lexical_grammar#reserved_words) and must be [legal JS identifiers :octicons-link-external-16:](https://www.capscode.in/blog/valid-identifier-in-js).
-Our implementation offers the same level of JS support as the V8 engine inside the context of a database engine. You can check out the details at [v8.dev/docs](https://v8.dev/docs) and [tc39.es/ecma262](https://v8.dev/docs). Developers have access to standard operators, data types, objects (such as Math), and functions defined in the ECMAScript standard. However, objects and modules specific to Node.NS or DOM, which are only available in browsers, are not accessible.
+Our implementation offers the same level of JS support as the V8 engine inside the context of a database engine. You can check out the details at [v8.dev/docs :octicons-link-external-16:](https://v8.dev/docs) and [tc39.es/ecma262 :octicons-link-external-16:](https://v8.dev/docs). Developers have access to standard operators, data types, objects (such as Math), and functions defined in the ECMAScript standard. However, objects and modules specific to Node.NS or DOM, which are only available in browsers, are not accessible.
In a typical database environment, direct access to external files (like reading or writing files on the server's file system) is restricted. Our implementation adheres to a trusted external routine language policy, ensuring routines cannot perform operations beyond what is normally possible for database users. Consequently, file or network I/O operations are not supported within our routines.
diff --git a/docs/libcoredumper.md b/docs/libcoredumper.md
index 22432c578a0..472d2c5dc93 100644
--- a/docs/libcoredumper.md
+++ b/docs/libcoredumper.md
@@ -7,7 +7,7 @@ The `libcoredumper` is a free and Open Source fork of `google-coredumper`,
enhanced to work on newer Linux versions, and GCC and CLANG.
!!! tip "Need Help Interpreting Stack Traces?"
- [Percona Support](https://www.percona.com/services/support) offers
+ [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) offers
expert debugging and performance analysis to help you understand
complex stack trace diagnostics.
@@ -62,7 +62,7 @@ reasons:
!!! tip "Complex Core Dump Analysis?"
- [Percona Support](https://www.percona.com/services/support) offers expert debugging and in-depth analysis of core dump diagnostics to help you resolve critical system issues.
+ [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) offers expert debugging and in-depth analysis of core dump diagnostics to help you resolve critical system issues.
### Disabling the libcoredumper
diff --git a/docs/log-connection-error.md b/docs/log-connection-error.md
index 42bd36ef4b2..ea38354bbc6 100644
--- a/docs/log-connection-error.md
+++ b/docs/log-connection-error.md
@@ -1,14 +1,12 @@
# Too many connections warning
-If the [log_error_verbosity] system variable is set to `2` or higher, this
+If the [log_error_verbosity :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-
+variables.html#sysvar_log_error_verbosity) system variable is set to `2` or higher, this
feature generates the `Too many connections` warning in the log.
!!! tip "Troubleshooting Connection Issues"
For comprehensive guidance on managing database connections and
- performance, [Percona Support](https://www.percona.com/services/support)
+ performance, [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support)
can provide expert assistance in diagnosing and resolving connection
management challenges.
-[log_error_verbosity]: https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-
-variables.html#sysvar_log_error_verbosity
-
diff --git a/docs/log-warnings-suppress.md b/docs/log-warnings-suppress.md
index 1dfbaeb3dab..f3cf8acd16f 100644
--- a/docs/log-warnings-suppress.md
+++ b/docs/log-warnings-suppress.md
@@ -32,10 +32,10 @@ In the future, the ability to optionally disable additional warnings may also be
## Related reading
-* [MySQL bug 42851](https://bugs.mysql.com/bug.php?id=42851)
+* [MySQL bug 42851 :octicons-link-external-16:](https://bugs.mysql.com/bug.php?id=42851)
-* [MySQL InnoDB replication](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-and-mysql-replication.html)
+* [MySQL InnoDB replication :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-and-mysql-replication.html)
-* [InnoDB Startup Options and System Variables](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html)
+* [InnoDB Startup Options and System Variables :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html)
-* [InnoDB Error Handling](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-error-handling.html)
+* [InnoDB Error Handling :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-error-handling.html)
diff --git a/docs/myrocks-added-features.md b/docs/myrocks-added-features.md
index 2eea37de414..c67da4fd8e4 100644
--- a/docs/myrocks-added-features.md
+++ b/docs/myrocks-added-features.md
@@ -10,6 +10,6 @@ The following is a list of the latest supported features:
* Using a global variable `rocksdb_cancel_manual_compactions` to cancel all ongoing manual compactions.
-* Percona Server for MySQL adds supported for [Generated Columns](https://dev.mysql.com/doc/refman/{{vers}}/en/create-table-generated-columns.html) and index are supported.
+* Percona Server for MySQL adds supported for [Generated Columns :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/create-table-generated-columns.html) and index are supported.
-* Percona Server for MySQL adds support for [explicit DEFAULT value expressions](https://dev.mysql.com/doc/refman/{{vers}}/en/data-type-defaults.html).
+* Percona Server for MySQL adds support for [explicit DEFAULT value expressions :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/data-type-defaults.html).
diff --git a/docs/myrocks-data-loading.md b/docs/myrocks-data-loading.md
index 562e1d641b7..b11c81e03f8 100644
--- a/docs/myrocks-data-loading.md
+++ b/docs/myrocks-data-loading.md
@@ -125,7 +125,7 @@ need to truncate the table and loading data again.
## Other reading
-* [Data Loading](https://github.com/facebook/mysql-5.6/wiki/Data-Loading) -
+* [Data Loading :octicons-link-external-16:](https://github.com/facebook/mysql-5.6/wiki/Data-Loading) -
this document has been used as a source for writing this documentation
-* [ALTER TABLE … ENGINE=ROCKSDB uses too much memory](https://github.com/facebook/mysql-5.6/issues/692)
+* [ALTER TABLE … ENGINE=ROCKSDB uses too much memory :octicons-link-external-16:](https://github.com/facebook/mysql-5.6/issues/692)
diff --git a/docs/myrocks-differences.md b/docs/myrocks-differences.md
index cac2daa07d2..c7fa53da256 100644
--- a/docs/myrocks-differences.md
+++ b/docs/myrocks-differences.md
@@ -6,7 +6,7 @@ and works with their implementation of MySQL.
and includes the following differences from the original implementation:
* The behavior of the `START TRANSACTION WITH CONSISTENT SNAPSHOT` statement
-depends on the [transaction isolation level](https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html).
+depends on the [transaction isolation level :octicons-link-external-16:](https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html).
| Storage Engine| Transaction isolation level | |
| ------------- | --------------------------- | ---------------------------- |
diff --git a/docs/myrocks-gap-locks-detection.md b/docs/myrocks-gap-locks-detection.md
index ac649203885..b216d8321b1 100644
--- a/docs/myrocks-gap-locks-detection.md
+++ b/docs/myrocks-gap-locks-detection.md
@@ -1,6 +1,6 @@
# Gap locks detection
-The [Gap locks] detection is based on a Facebook *MySQL* patch.
+The [Gap locks :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-locking.html#innodb-gap-locks) detection is based on a Facebook *MySQL* patch.
If a transactional storage engine does not support gap locks (for example
MyRocks) and a gap lock is being attempted while the transaction isolation
@@ -13,5 +13,3 @@ on the effected rows.
```text
ERROR HY000: Using Gap Lock without full unique key in multi-table or multi-statement transactions is not allowed. You need to either rewrite queries to use all unique key columns in WHERE equal conditions, or rewrite to single-table, single-statement transaction.
```
-
-[Gap locks]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-locking.html#innodb-gap-locks
\ No newline at end of file
diff --git a/docs/myrocks-index.md b/docs/myrocks-index.md
index 23a542a2bc3..7db15cc1b6a 100644
--- a/docs/myrocks-index.md
+++ b/docs/myrocks-index.md
@@ -1,10 +1,10 @@
# Percona MyRocks introduction
-[MyRocks](https://myrocks.io) is a storage engine
-for [MySQL](https://www.mysql.com) based on [RocksDB](https://rocksdb.org/),
+[MyRocks :octicons-link-external-16:](https://myrocks.io) is a storage engine
+for [MySQL :octicons-link-external-16:](https://www.mysql.com) based on [RocksDB :octicons-link-external-16:](https://rocksdb.org/),
an embeddable, persistent key-value store.
*Percona MyRocks* is an implementation
-for [Percona Server for MySQL](https://www.percona.com/software/percona-server).
+for [Percona Server for MySQL :octicons-link-external-16:](https://www.percona.com/software/percona-server).
The RocksDB store is based on the log-structured merge-tree (or LSM
tree). It is optimized for fast storage and combines outstanding
diff --git a/docs/myrocks-limitations.md b/docs/myrocks-limitations.md
index 5059bd846b4..7195a3ba8e7 100644
--- a/docs/myrocks-limitations.md
+++ b/docs/myrocks-limitations.md
@@ -2,7 +2,7 @@
## Online DDL limitations
-MyRocks has limited support for [Online DDL operations](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-online-ddl.html) due to the lack of [atomic DDL](./glossary.md#atomic-ddl-data-definition-language). As a result the schema changes are more restricted compared to InnoDB.
+MyRocks has limited support for [Online DDL operations :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-online-ddl.html) due to the lack of [atomic DDL](./glossary.md#atomic-ddl-data-definition-language). As a result the schema changes are more restricted compared to InnoDB.
### Traditional MyRocks DDL behavior
@@ -56,23 +56,23 @@ If either condition is missing:
## Unsupported InnoDB features in MyRocks
-* [ALTER TABLE .. EXCHANGE PARTITION](https://dev.mysql.com/doc/refman/{{vers}}/en/partitioning-management-exchange.html).
+* [ALTER TABLE .. EXCHANGE PARTITION :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/partitioning-management-exchange.html).
-* [SAVEPOINT](https://dev.mysql.com/doc/refman/{{vers}}/en/savepoint.html)
+* [SAVEPOINT :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/savepoint.html)
-* [Transportable tablespace](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-table-import.html)
+* [Transportable tablespace :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-table-import.html)
-* [Foreign keys](https://dev.mysql.com/doc/refman/{{vers}}/en/create-table-foreign-keys.html)
+* [Foreign keys :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/create-table-foreign-keys.html)
-* [Spatial indexes](https://dev.mysql.com/doc/refman/{{vers}}/en/using-spatial-indexes.html)
+* [Spatial indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/using-spatial-indexes.html)
-* [Fulltext indexes](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-fulltext-index.html)
+* [Fulltext indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-fulltext-index.html)
-* [Gap locks](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-locking.html#innodb-gap-locks)
+* [Gap locks :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-locking.html#innodb-gap-locks)
-* [Group Replication](https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication.html)
+* [Group Replication :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/group-replication.html)
-* [Partial Update of LOB in InnoDB](https://dev.mysql.com/blog-archive/mysql-8-0-optimizing-small-partial-update-of-lob-in-innodb/)
+* [Partial Update of LOB in InnoDB :octicons-link-external-16:](https://dev.mysql.com/blog-archive/mysql-8-0-optimizing-small-partial-update-of-lob-in-innodb/)
You should also consider the following:
@@ -104,7 +104,7 @@ You should also consider the following:
!!! admonition "See also"
- [MySQL Documentation: Preparing Your Installation for Upgrade](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-prerequisites.html)
+ [MySQL Documentation: 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}} and Unicode 9.0.0 standards have defined a change in the handling of binary collations. These collations are handled as NO PAD, trailing spaces are included in key comparisons. A binary collation comparison may result in two unique rows inserted and does not generate a\`DUP_ENTRY\` error. MyRocks key encoding and comparison does not account for this character set attribute.
@@ -112,13 +112,13 @@ You should also consider the following:
MyRocks does not support the following:
-* Operating as either a source or a replica in any replication topology that is not exclusively row-based. Statement-based and mixed-format binary logging is not supported. For more information, see [Replication Formats](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-formats.html).
+* Operating as either a source or a replica in any replication topology that is not exclusively row-based. Statement-based and mixed-format binary logging is not supported. For more information, see [Replication Formats :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-formats.html).
-* Using [multi-valued indexes](https://dev.mysql.com/doc/refman/{{vers}}/en/create-index.html#create-index-multi-valued). InnoDB supports this feature.
+* Using [multi-valued indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/create-index.html#create-index-multi-valued). InnoDB supports this feature.
-* Using [spatial data types](https://dev.mysql.com/doc/refman/{{vers}}/en/spatial-type-overview.html) .
+* Using [spatial data types :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/spatial-type-overview.html) .
-* Using the [Clone Plugin](https://dev.mysql.com/doc/refman/{{vers}}/en/clone-plugin.html) and the Clone Plugin API. InnoDB supports either these features.
+* Using the [Clone Plugin :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/clone-plugin.html) and the Clone Plugin API. InnoDB supports either these features.
* Using encryption in tables. At this time, during an `ALTER TABLE` operation, MyRocks mistakenly detects all InnoDB tables as encrypted. Therefore, any attempt to `ALTER` an InnoDB table to MyRocks fails.
diff --git a/docs/myrocks-server-variables.md b/docs/myrocks-server-variables.md
index b31c4f1876f..4525baf6051 100644
--- a/docs/myrocks-server-variables.md
+++ b/docs/myrocks-server-variables.md
@@ -1860,7 +1860,7 @@ Prior to Percona Server for MySQL 8.4.5-5, the default value was `OFF`, and the
| Default | 1 |
Specifies whether to sync on every transaction commit,
-similar to [innodb_flush_log_at_trx_commit](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit).
+similar to [innodb_flush_log_at_trx_commit :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit).
Enabled by default, which ensures ACID compliance.
Possible values:
diff --git a/docs/myrocks-status-variables.md b/docs/myrocks-status-variables.md
index 038f1552a08..4911ef9bf52 100644
--- a/docs/myrocks-status-variables.md
+++ b/docs/myrocks-status-variables.md
@@ -489,7 +489,7 @@ database.
### `rocksdb_rate_limit_delay_millis`
-This variable was removed in *Percona Server for MySQL* [Percona Server 5.7.23-23](https://docs.percona.com/percona-server/5.7/release-notes/Percona-Server-5.7.23-23.html#id1).
+This variable was removed in *Percona Server for MySQL* [Percona Server 5.7.23-23 :octicons-link-external-16:](https://docs.percona.com/percona-server/5.7/release-notes/Percona-Server-5.7.23-23.html).
### `rocksdb_row_lock_deadlocks`
diff --git a/docs/pam-plugin.md b/docs/pam-plugin.md
index 6459273acfb..a55a786d7a7 100644
--- a/docs/pam-plugin.md
+++ b/docs/pam-plugin.md
@@ -10,7 +10,7 @@ Here are some of the benefits that Percona dialog plugin offers over the default
* It can use the password which is passed to *MySQL* client via “-p” parameter.
-* Dialog client [installation bug](https://bugs.mysql.com/bug.php?id=60745) has been fixed.
+* Dialog client [installation bug :octicons-link-external-16:](https://bugs.mysql.com/bug.php?id=60745) has been fixed.
Percona offers two versions of this plugin:
@@ -87,9 +87,9 @@ This feature enables using secondary groups in the mapping part of the authentic
## Known issues
-Default mysql stack size is not enough to handle `pam_encryptfs` module. The workaround is to increase the *MySQL* stack size by setting the [thread-stack](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_thread_stack) variable to at least `512KB` or by increasing the old value by `256KB`.
+Default mysql stack size is not enough to handle `pam_encryptfs` module. The workaround is to increase the *MySQL* stack size by setting the [thread-stack :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_thread_stack) variable to at least `512KB` or by increasing the old value by `256KB`.
-PAM authentication can fail with `mysqld: pam_unix(mysqld:account): Fork failed: Cannot allocate memory` error in the `/var/log/secure` even when there is enough memory available. Current workaround is to set [vm.overcommit_memory](https://www.kernel.org/doc/Documentation/vm/overcommit-accounting) to `1`:
+PAM authentication can fail with `mysqld: pam_unix(mysqld:account): Fork failed: Cannot allocate memory` error in the `/var/log/secure` even when there is enough memory available. Current workaround is to set [vm.overcommit_memory :octicons-link-external-16:](https://www.kernel.org/doc/Documentation/vm/overcommit-accounting) to `1`:
```text
echo 1 /proc/sys/vm/overcommit_memory
diff --git a/docs/percona-sequence-table.md b/docs/percona-sequence-table.md
index c2ca0f2cfe1..a1da714f1db 100644
--- a/docs/percona-sequence-table.md
+++ b/docs/percona-sequence-table.md
@@ -19,11 +19,11 @@ To maintain compatibility with existing third-party software, `SEQUENCE_TABLE` i
## Table functions
-The function is an inline table-valued function. This function creates a temporary table with multiple rows. You can use this function within a single SELECT statement. Oracle MySQL Server only has the `JSON_TABLE` table function. The Percona Server for MySQL has the `JSON_TABLE` and `PERCONA_SEQUENCE_TABLE()` table functions. A single SELECT statement generates a multi-row result set. In contrast, a scalar function (like [EXP(x)](https://dev.mysql.com/doc/refman/8.4/en/mathematical-functions.html#function_exp) or [LOWER(str)](https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_lower) always returns a single value of a specific data type.
+The function is an inline table-valued function. This function creates a temporary table with multiple rows. You can use this function within a single SELECT statement. Oracle MySQL Server only has the `JSON_TABLE` table function. The Percona Server for MySQL has the `JSON_TABLE` and `PERCONA_SEQUENCE_TABLE()` table functions. A single SELECT statement generates a multi-row result set. In contrast, a scalar function (like [EXP(x) :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.4/en/mathematical-functions.html#function_exp) or [LOWER(str) :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_lower) always returns a single value of a specific data type.
## Syntax
-As with any [derived tables](https://dev.mysql.com/doc/refman/8.4/en/derived-tables.html), a table function requires an [alias](https://dev.mysql.com/doc/refman/8.4/en/identifiers.html) in the `SELECT` statement.
+As with any [derived tables :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.4/en/derived-tables.html), a table function requires an [alias :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.4/en/identifiers.html) in the `SELECT` statement.
The result set is a single column with the predefined column name `value` of type `BIGINT UNSIGNED`. You can reference the `value` column in `SELECT` statements. The following statements are valid. Using `n` as the number of generated values, the following is the basic syntax:
@@ -183,6 +183,4 @@ mysql> SELECT * FROM t1;
Sequences are helpful for various purposes, such as populating tables and generating test data.
-[`JSON_TABLE()`]: https://dev.mysql.com/doc/refman/8.4/en/json-table-functions.html
-
[SEQUENCE_TABLE()]: sequence-table.md
\ No newline at end of file
diff --git a/docs/percona-server-versions-comparison.md b/docs/percona-server-versions-comparison.md
index d8213284740..f681675858a 100644
--- a/docs/percona-server-versions-comparison.md
+++ b/docs/percona-server-versions-comparison.md
@@ -58,6 +58,6 @@
## Other reading
-* [What Is New in MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html)
+* [What Is New in MySQL 5.7 :octicons-link-external-16:](https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html)
-* [What Is New in MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html)
+* [What Is New in MySQL 8.0 :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html)
diff --git a/docs/performance-schema-myrocks-changes.md b/docs/performance-schema-myrocks-changes.md
index 0ac77644ce4..39252ff8f34 100644
--- a/docs/performance-schema-myrocks-changes.md
+++ b/docs/performance-schema-myrocks-changes.md
@@ -1,7 +1,7 @@
# Performance Schema MyRocks changes
RocksDB WAL file information can be seen in the
-[performance_schema.log_status](https://dev.mysql.com/doc/refman/{{vers}}/en/performance-schema-log-status-table.html)
+[performance_schema.log_status :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/performance-schema-log-status-table.html)
table in the `STORAGE ENGINE` column.
## Example
diff --git a/docs/post-installation.md b/docs/post-installation.md
index 9072521beb6..35ca2d71382 100644
--- a/docs/post-installation.md
+++ b/docs/post-installation.md
@@ -14,7 +14,7 @@ Depending on the type of installation, you may need to do the following tasks:
If you install the server using either the source distribution or generic binary distribution files, the data directory is not initialized, and you must run the initialization process after installation.
-Run mysqld with the [–initialize](https://dev.mysql.com/doc/refman/{{vers}}/en/server-options.html#option_mysqld_initialize) option or the [initialize-insecure](https://dev.mysql.com/doc/refman/{{vers}}/en/server-options.html#option_mysqld_initialize-insecure) option.
+Run mysqld with the [–initialize :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-options.html#option_mysqld_initialize) option or the [initialize- :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-options.html#option_mysqld_initialize-insecure) option.
Executing `mysqld` with either option does the following:
@@ -40,7 +40,7 @@ You should run the following steps with the `mysql` login.
```
-2. Create a directory for the MySQL files. The [secure_file_priv](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_secure_file_priv) uses the directory path as a value.
+2. Create a directory for the MySQL files. The [secure_file_priv :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_secure_file_priv) uses the directory path as a value.
```{.bash data-prompt="$"}
$ mkdir mydata
@@ -70,9 +70,9 @@ You should run the following steps with the `mysql` login.
After you have initialized the data directory, and the server is started, you can run tests on the server.
-This section assumes you have used the default installation settings. If you have modified the installation, navigate to the installation location. You can also add the location by [Setting the Environment Variables](https://dev.mysql.com/doc/refman/{{vers}}/en/setting-environment-variables.html).
+This section assumes you have used the default installation settings. If you have modified the installation, navigate to the installation location. You can also add the location by [Setting the Environment Variables :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/setting-environment-variables.html).
-You can use the [mysqladmin](https://dev.mysql.com/doc/refman/{{vers}}/en/mysqladmin.html) client to access the server.
+You can use the [mysqladmin :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysqladmin.html) client to access the server.
If you have issues connecting to the server, use the `root` user and the root account password.
@@ -96,7 +96,7 @@ $ sudo mysqladmin -u root -p version
Open tables: 59 Queries per second avg: 0.0000
```
-Use [mysqlshow](https://dev.mysql.com/doc/refman/{{vers}}/en/mysqlshow.html) to display database and table information.
+Use [mysqlshow :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysqlshow.html) to display database and table information.
```{.bash data-prompt="$"}
$ sudo mysqlshow -u root -p
@@ -206,7 +206,7 @@ $ mysql -u root -p
### Secure the server
-The [mysql_secure_installation](https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-secure-installation.html)
+The [mysql_secure_installation :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-secure-installation.html)
script improves the security of the instance.
The script does the following:
@@ -254,12 +254,12 @@ If you install the server using either the source distribution or the
generic binary distribution files, the installation creates the time zone
tables, but the tables are not populated.
-The [mysql_tzinfo_to_sql](https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-tzinfo-to-sql.html) program
+The [mysql_tzinfo_to_sql :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-tzinfo-to-sql.html) program
populates the tables from the `zoneinfo` directory data available in Linux.
A common method to populate the tables is to add the zoneinfo directory path
to `mysql_tzinfo_to_sql` and then send the output into
-the [mysql system schema](https://dev.mysql.com/doc/refman/{{vers}}/en/system-schema.html).
+the [mysql system schema :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/system-schema.html).
The example assumes you are running the command with the `root` account.
The account must have the privileges for modifying the `mysql`
diff --git a/docs/procfs-plugin.md b/docs/procfs-plugin.md
index a3b6423af6e..61eac629468 100644
--- a/docs/procfs-plugin.md
+++ b/docs/procfs-plugin.md
@@ -40,7 +40,7 @@ GRANT ACCESS_PROCFS ON *.* TO 'user'@'host';
Authorized users can obtain information from individual files by specifying the exact file name within a WHERE clause. Files that are not included are ignored and considered not to exist.
-All files that match the [procfs_files_spec](#procfs_files_spec) are opened, read, stored in memory, and, finally, returned to the client. It is critical to add a WHERE clause to return only specific files to limit the impact of the plugin on the server’s performance. A failure to use a WHERE clause can lead to lengthy query response times, high load, and high memory usage on the server. The WHERE clause can contain either an equality operator, the LIKE operator, or the IN operator. The LIKE operator limits file globbing. You can write file access patterns in the [glob(7) style](https://man7.org/linux/man-pages/man7/glob.7.html), such as `/sys/block/sd[a-z]/stat;/proc/version\*`
+All files that match the [procfs_files_spec](#procfs_files_spec) are opened, read, stored in memory, and, finally, returned to the client. It is critical to add a WHERE clause to return only specific files to limit the impact of the plugin on the server’s performance. A failure to use a WHERE clause can lead to lengthy query response times, high load, and high memory usage on the server. The WHERE clause can contain either an equality operator, the LIKE operator, or the IN operator. The LIKE operator limits file globbing. You can write file access patterns in the [glob(7) style :octicons-link-external-16:](https://man7.org/linux/man-pages/man7/glob.7.html), such as `/sys/block/sd[a-z]/stat;/proc/version\*`
The following example returns the `proc/version`:
diff --git a/docs/query-limit-records.md b/docs/query-limit-records.md
index 4d8104f4b2c..e9a884035fe 100644
--- a/docs/query-limit-records.md
+++ b/docs/query-limit-records.md
@@ -12,7 +12,7 @@ partition. This process can result in more pages read and more disk I/O, if the
buffer pool must fetch the pages from disk. This process increases the query
time if there are a large number of partitions.
-The addition of two variables makes it possible to override [records_in_range](https://dev.mysql.com/doc/internals/en/records-in-range.html) which
+The addition of two variables makes it possible to override [records_in_range :octicons-link-external-16:](https://dev.mysql.com/doc/internals/en/records-in-range.html) which
effectively bypasses the process.
!!! warning
@@ -77,7 +77,7 @@ In specific scenarios, the optimizer chooses to scan a table instead of using a
* WHERE clause contains multiple range conditions
-The [optimizer_switch](https://dev.mysql.com/doc/refman/{{vers}}/en/switchable-optimizations.html) controls the optimizer behavior. The favor_range_scan switch arbitrarily lowers the cost of a range scan by a factor of 10.
+The [optimizer_switch :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/switchable-optimizations.html) controls the optimizer behavior. The favor_range_scan switch arbitrarily lowers the cost of a range scan by a factor of 10.
The available values are:
diff --git a/docs/quickstart-apt.md b/docs/quickstart-apt.md
index 6f1e3984b3e..f4b8e6013d8 100644
--- a/docs/quickstart-apt.md
+++ b/docs/quickstart-apt.md
@@ -569,12 +569,9 @@ mysql> SELECT id, name, email, country FROM employees WHERE id > 10;
* Keep Software Updated: Maintain Percona Server and related packages updated with security patches.
-* Monitor Server Activity: Employ tools, like [Percona Monitoring and Management], and logs to monitor server activity for suspicious behavior.
+* Monitor Server Activity: Employ tools, like [Percona Monitoring and Management :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html), and logs to monitor server activity for suspicious behavior.
## Next step
[Choose your next steps:material-arrow-right:](quickstart-next-steps.md){.md-button}
-
-
-[Percona Monitoring and Management]: https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html
diff --git a/docs/quickstart-docker.md b/docs/quickstart-docker.md
index 79268690087..05fe1419031 100644
--- a/docs/quickstart-docker.md
+++ b/docs/quickstart-docker.md
@@ -28,7 +28,7 @@ You must provide at least one environment variable to access the database, such
If needed, you can replace the `secret` password with a [stronger password](#security-measures).
-For this document, we add the `{{tag}}` tag. In Docker, a tag is a label assigned to an image and is used to maintain different versions of an image. If we did not add a tag, Docker uses `latest` as the default tag and downloads the latest image from [percona/percona-server on the Docker Hub].
+For this document, we add the `{{tag}}` tag. In Docker, a tag is a label assigned to an image and is used to maintain different versions of an image. If we did not add a tag, Docker uses `latest` as the default tag and downloads the latest image from [percona/percona-server on the Docker Hub :octicons-link-external-16:](https://hub.docker.com/r/percona/percona-server).
To run the Docker ARM64 version of Percona Server for MySQL, use the `{{arm_tag}}` tag instead of `{{tag}}`.
@@ -405,8 +405,3 @@ Remember, responsible container management and robust security practices are cru
## Next step
[Choose your next steps:material-arrow-right:](quickstart-next-steps.md){.md-button}
-
-
-[Percona Server for MySQL documentation]: https://docs.percona.com/percona-server/8.4/
-
-[percona/percona-server on the Docker Hub]: https://hub.docker.com/r/percona/percona-server
diff --git a/docs/quickstart-next-steps.md b/docs/quickstart-next-steps.md
index 4bbc514b372..f05c356cff2 100644
--- a/docs/quickstart-next-steps.md
+++ b/docs/quickstart-next-steps.md
@@ -30,36 +30,36 @@ Review the [Percona Server for MySQL documentation](index.md) for more informati
Percona XtraBackup (PXB) is a 100% open source backup solution for all versions of Percona Server for MySQL and MySQL® that performs online non-blocking, tightly compressed, highly secure full backups on transactional systems. Maintain fully available applications during planned maintenance windows with Percona XtraBackup.
-[Install Percona XtraBackup](https://docs.percona.com/percona-xtrabackup/8.4/installation.html)
+[Install Percona XtraBackup :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/{{vers}}/installation.html)
### For monitoring and management
Percona Monitoring and Management (PMM )monitors and provides actionable performance data for MySQL variants, including Percona Server for MySQL, Percona XtraDB Cluster, Oracle MySQL Community Edition, Oracle MySQL Enterprise Edition, and MariaDB. PMM captures metrics and data for the InnoDB, XtraDB, and MyRocks storage engines, and has specialized dashboards for specific engine details.
-[Install PMM and connect your MySQL instances to it](https://docs.percona.com/percona-monitoring-and-management/get-started/index.html).
+[Install PMM and connect your MySQL instances to it :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/get-started/index.html).
### For high availability
Percona XtraDB Cluster (PXC) is a 100% open source, enterprise-grade, highly available clustering solution for MySQL multi-master setups based on Galera. PXC helps enterprises minimize unexpected downtime and data loss, reduce costs, and improve the performance and scalability of their database environments, supporting their critical business applications in the most demanding public, private, and hybrid cloud environments.
-[Percona XtraDB Cluster Quick Start guide](https://docs.percona.com/percona-xtradb-cluster/8.4/quickstart-overview.html)
+[Percona XtraDB Cluster Quick Start guide :octicons-link-external-16:](https://docs.percona.com/percona-xtradb-cluster/{{vers}}/quickstart-overview.html)
### Advanced command-line tools
Percona Toolkit is a collection of advanced command-line tools used by the Percona support staff to perform various MySQL, MongoDB, and system tasks that are complex or difficult to perform manually. These tools are ideal alternatives to “one-off” scripts because they are professionally developed, formally tested, and documented. Each tool is self-contained, so installation is quick and easy and does not install libraries.
-[Percona Toolkit documentation](https://docs.percona.com/percona-toolkit/)
+[Percona Toolkit documentation :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/)
### Operators
Percona Operator for MySQL and Percona Operator for MySQL based on Percona XtraDB Cluster are tools designed to simplify the deployment, management, and scaling of MySQL and Percona XtraDB Cluster (PXC) instances in Kubernetes environments. These operators automate various database tasks such as backups, recovery, and updates, ensuring high availability and reliability. They provide robust features like automated failover, self-healing, and seamless scaling, which help maintain optimal database performance and reduce manual intervention. By leveraging Kubernetes' orchestration capabilities, these operators enhance the efficiency and resilience of MySQL and PXC deployments, making them well-suited for modern cloud-native applications.
-[Percona Operator for MySQL Documentation](https://docs.percona.com/percona-operator-for-mysql/ps/)
+[Percona Operator for MySQL Documentation :octicons-link-external-16:](https://docs.percona.com/percona-operator-for-mysql/ps/)
-[Percona Operator for MySQL based on Percona XtraDB Cluster](https://docs.percona.com/percona-operator-for-mysql/pxc/)
+[Percona Operator for MySQL based on Percona XtraDB Cluster :octicons-link-external-16:](https://docs.percona.com/percona-operator-for-mysql/pxc/)
### Cloud-native database services
Percona Everest is an open-source cloud-native database platform that helps developers deploy code faster, scale deployments rapidly, and reduce database administration overhead while regaining control over their data, database configuration, and DBaaS costs.
-[Percona Everest](https://docs.percona.com/everest/index.html)
\ No newline at end of file
+[Percona Everest :octicons-link-external-16:](https://docs.percona.com/everest/index.html)
\ No newline at end of file
diff --git a/docs/quickstart-overview.md b/docs/quickstart-overview.md
index 35cda2d68cb..fbc838032fa 100644
--- a/docs/quickstart-overview.md
+++ b/docs/quickstart-overview.md
@@ -7,7 +7,7 @@ Percona Server for MySQL is a freely available, fully compatible, enhanced, and
## Install Percona Server for MySQL
-You can explore alternative installation options in the [Install] section of the Percona Server for MySQL documentation.
+You can explore alternative installation options in the [Install](installation.md) section of the Percona Server for MySQL documentation.
## Purpose of the Quickstart
@@ -18,7 +18,7 @@ You can also do the following:
* [Download and install Percona Server for MySQL packages for your operating system](installation.md)
-* Work with [the Quickstart for the Percona Operator for MySQL based on the Percona Server for MySQL using Helm] or [the Quickstart for the Percona Operator for MySQL based on the Percona Server for MySQL using Minikube] to find out more about the Percona Operator.
+* Work with [the Quickstart for the Percona Operator for MySQL based on the Percona Server for MySQL using Helm :octicons-link-external-16:](https://docs.percona.com/percona-operator-for-mysql/ps/helm.html) or [the Quickstart for the Percona Operator for MySQL based on the Percona Server for MySQL using Minikube :octicons-link-external-16:](https://docs.percona.com/percona-operator-for-mysql/ps/minikube.html) to find out more about the Percona Operator.
## Steps for first-time users
@@ -35,8 +35,3 @@ The following guides walk you through the setup process and working with a datab
[Install and create database (Oracle Linux):material-arrow-right:](quickstart-yum.md){.md-button}
[Choose your next steps:material-arrow-right:](quickstart-next-steps.md){.md-button}
-
-
-[the Quickstart for the Percona Operator for MySQL based on the Percona Server for MySQL using Helm]: https://docs.percona.com/percona-operator-for-mysql/ps/helm.html
-
-[the Quickstart for the Percona Operator for MySQL based on the Percona Server for MySQL using Minikube]: https://docs.percona.com/percona-operator-for-mysql/ps/minikube.html
diff --git a/docs/quickstart-yum.md b/docs/quickstart-yum.md
index f8cefa40027..e9f008f261f 100644
--- a/docs/quickstart-yum.md
+++ b/docs/quickstart-yum.md
@@ -440,7 +440,7 @@ MySQL startup:
* Disable unused accounts and databases: Remove unnecessary elements.
-* Monitor Server Activity: Employ tools, like [Percona Monitoring and Management], and logs to monitor server activity for suspicious behavior.
+* Monitor Server Activity: Employ tools, like [Percona Monitoring and Management :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html), and logs to monitor server activity for suspicious behavior.
* Backup data regularly: Ensure robust backups for disaster recovery.
@@ -545,6 +545,3 @@ $ sudo mysql_secure_installation
## Next step
[Choose your next steps:material-arrow-right:](quickstart-next-steps.md){.md-button}
-
-
-[Percona Monitoring and Management]: https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html
diff --git a/docs/sequence-table.md b/docs/sequence-table.md
index b084d7efb3d..e0941764e89 100644
--- a/docs/sequence-table.md
+++ b/docs/sequence-table.md
@@ -19,11 +19,11 @@ To maintain compatibility with existing third-party software, `SEQUENCE_TABLE` i
## Table functions
-The function is an inline table-valued function. This function creates a temporary table with multiple rows. You can use this function within a single SELECT statement. Oracle MySQL Server only has the `JSON_TABLE` table function. The Percona Server for MySQL has the `JSON_TABLE` and `SEQUENCE_TABLE()` table functions. A single SELECT statement generates a multi-row result set. In contrast, a scalar function (like [EXP(x)](https://dev.mysql.com/doc/refman/8.4/en/mathematical-functions.html#function_exp) or [LOWER(str)](https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_lower) always returns a single value of a specific data type.
+The function is an inline table-valued function. This function creates a temporary table with multiple rows. You can use this function within a single SELECT statement. Oracle MySQL Server only has the [`JSON_TABLE` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/json-table-functions.html) table function. The Percona Server for MySQL has the `JSON_TABLE` and `SEQUENCE_TABLE()` table functions. A single SELECT statement generates a multi-row result set. In contrast, a scalar function (like [EXP(x) :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mathematical-functions.html#function_exp) or [LOWER(str) :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/string-functions.html#function_lower) always returns a single value of a specific data type.
## Syntax
-As with any [derived tables](https://dev.mysql.com/doc/refman/8.4/en/derived-tables.html), a table function requires an [alias](https://dev.mysql.com/doc/refman/8.4/en/identifiers.html) in the `SELECT` statement.
+As with any [derived tables :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/derived-tables.html), a table function requires an [alias :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/identifiers.html) in the `SELECT` statement.
The result set is a single column with the predefined column name `value` of type `BIGINT UNSIGNED`. You can reference the `value` column in `SELECT` statements. The following statements are valid. Using `n` as the number of generated values, the following is the basic syntax:
@@ -190,5 +190,4 @@ mysql> SELECT * FROM t1;
Sequences are helpful for various purposes, such as populating tables and generating test data.
-[`JSON_TABLE()`]: https://dev.mysql.com/doc/refman/8.4/en/json-table-functions.html
[`PERCONA_SEQUENCE_TABLE()`]: percona-sequence-table.md
\ No newline at end of file
diff --git a/docs/server-version-numbers.md b/docs/server-version-numbers.md
index a9a99547a56..a63b6a323ee 100644
--- a/docs/server-version-numbers.md
+++ b/docs/server-version-numbers.md
@@ -6,10 +6,10 @@ A version number identifies the innovtion product release. The product contains
|---|---|---|
| Base version | Minor build version |
-Percona uses semantic version numbering, which follows the pattern of base version and build version. Percona assigns unique, non-negative integers in increasing order for each version release. The version number combines the base [MySQL {{vers}}](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) version number and the minor build version.
+Percona uses semantic version numbering, which follows the pattern of base version and build version. Percona assigns unique, non-negative integers in increasing order for each version release. The version number combines the base [MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) version number and the minor build version.
The version numbers for Percona Server for MySQL {{release}} define the following information:
-* Base version - the leftmost numbers indicate [MySQL {{vers}}](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) version used as a base.
+* Base version - the leftmost numbers indicate [MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) version used as a base.
* Minor build version - an internal number that increases by one every time Percona Server for MySQL is released.
diff --git a/docs/slow-extended.md b/docs/slow-extended.md
index d2927701a31..d0bbcd2f792 100644
--- a/docs/slow-extended.md
+++ b/docs/slow-extended.md
@@ -2,7 +2,7 @@
This feature adds microsecond time resolution and additional statistics to the slow query log output. It lets you enable or disable the slow query log at runtime, adds logging for the replica SQL thread, and adds fine-grained control over what and how much to log into the slow query log.
-You can use Percona-Toolkit’s [pt-query-digest](https://docs.percona.com/percona-toolkit/pt-query-digest.html) tool to aggregate similar queries together and report on those that consume the most execution time.
+You can use Percona-Toolkit’s [pt-query-digest :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/pt-query-digest.html) tool to aggregate similar queries together and report on those that consume the most execution time.
## System Variables
@@ -401,10 +401,10 @@ If the query did not use *InnoDB* tables, that information is written into the l
## Related reading
-* [Impact of logging on MySQL’s performance](https://www.percona.com/blog/impact-of-logging-on-mysql%E2%80%99s-performance/)
+* [Impact of logging on MySQL’s performance :octicons-link-external-16:](https://www.percona.com/blog/impact-of-logging-on-mysql%E2%80%99s-performance/)
-* [log_slow_filter Usage](https://www.percona.com/blog/finding-what-created_tmp_disk_tables-with-log_slow_filter/)
+* [log_slow_filter Usage :octicons-link-external-16:](https://www.percona.com/blog/finding-what-created_tmp_disk_tables-with-log_slow_filter/)
-* [Added microseconds to the slow query log event time](https://perconadev.atlassian.net/browse/PS-1136)
+* [Added microseconds to the slow query log event time :octicons-link-external-16:](https://perconadev.atlassian.net/browse/PS-1136)
diff --git a/docs/slowlog-rotation.md b/docs/slowlog-rotation.md
index 68730344b38..f21173b156b 100644
--- a/docs/slowlog-rotation.md
+++ b/docs/slowlog-rotation.md
@@ -1,6 +1,6 @@
# Slow query log rotation and expiration
-Percona has implemented two new variables, `max_slowlog_size` and `max_slowlog_files` to provide users with ability to control the slow query log disk usage. These variables have the same behavior as the [max_binlog_size variable] and the [max_binlog_files variable] used for controlling the binary log.
+Percona has implemented two new variables, `max_slowlog_size` and `max_slowlog_files` to provide users with ability to control the slow query log disk usage. These variables have the same behavior as the [max_binlog_size variable :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#sysvar_max_binlog_size) and the [max_binlog_files variable :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log) used for controlling the binary log.
## `max_slowlog_size`
@@ -38,7 +38,3 @@ If you set a limit for this size and enable this feature, the server will rename
This variable limits the total amount of slow query log files and is used with max_slowlog_size.
The server creates and adds slow query logs until reaching the range’s upper value. When the upper value is reached, the server creates a new slow query log file with a higher sequence number and deletes the log file with the lowest sequence number maintaining the total amount defined in the range.
-
-[max_binlog_size variable]: https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log.html#sysvar_max_binlog_size
-
-[max_binlog_files variable]: https://dev.mysql.com/doc/refman/{{vers}}/en/replication-options-binary-log
\ No newline at end of file
diff --git a/docs/stacktrace.md b/docs/stacktrace.md
index 43b6c537acf..45f1b9b2b33 100644
--- a/docs/stacktrace.md
+++ b/docs/stacktrace.md
@@ -19,6 +19,6 @@ Stack trace adds the following:
| | log may be large, rotated, or truncated. |
!!! tip "Need Help Interpreting Stack Traces?"
- [Percona Support](https://www.percona.com/services/support) offers
+ [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) offers
expert debugging and performance analysis to help you understand
complex stack trace diagnostics.
diff --git a/docs/start-transaction-with-consistent-snapshot.md b/docs/start-transaction-with-consistent-snapshot.md
index a4db6cd5107..6f64fbf4f38 100644
--- a/docs/start-transaction-with-consistent-snapshot.md
+++ b/docs/start-transaction-with-consistent-snapshot.md
@@ -1,6 +1,6 @@
# Start transaction with consistent snapshot
-Percona Server for MySQL has ported MariaDB [enhancement](https://mariadb.com/docs/server/ha-and-performance/standard-replication/enhancements-for-start-transaction-with-consistent-snapshot/) for `START TRANSACTION WITH CONSISTENT SNAPSHOTS` feature to the group commit implementation. This enhancement makes binary log positions consistent with InnoDB transaction snapshots.
+Percona Server for MySQL has ported MariaDB [enhancement :octicons-link-external-16:](https://mariadb.com/docs/server/ha-and-performance/standard-replication/enhancements-for-start-transaction-with-consistent-snapshot/) for `START TRANSACTION WITH CONSISTENT SNAPSHOTS` feature to the group commit implementation. This enhancement makes binary log positions consistent with InnoDB transaction snapshots.
This feature obtains logical backups with correct positions without running a `FLUSH TABLES WITH READ LOCK`. Binary log position can be obtained by two newly implemented status variables: [Binlog_snapshot_file](#binlog_snapshot_file) and [Binlog_snapshot_position](#binlog_snapshot_position). After starting a transaction using the `START TRANSACTION WITH CONSISTENT SNAPSHOT`, these two variables provide you with the binlog position that corresponds to the state of the database when the consistent snapshot is created and ignores which other transactions have been committed since the snapshot was created.
diff --git a/docs/telemetry.md b/docs/telemetry.md
index 62594e1b77f..820c0a39fc4 100644
--- a/docs/telemetry.md
+++ b/docs/telemetry.md
@@ -6,7 +6,7 @@ Percona telemetry fills in the gaps in our understanding of how you use Percona
At this time, telemetry is added only to the Percona packages and Docker images. Percona Server for MySQL collects only information about the installation environment. Future releases may add additional metrics.
-Be assured that access to this raw data is rigorously controlled. Percona does not collect personal data. All data is anonymous and cannot be traced to a specific user. To learn more about our privacy practices, read our [Percona Privacy statement].
+Be assured that access to this raw data is rigorously controlled. Percona does not collect personal data. All data is anonymous and cannot be traced to a specific user. To learn more about our privacy practices, read our [Percona Privacy statement :octicons-link-external-16:](https://www.percona.com/privacy-policy#h.e34c40q8sb1a).
An example of the data collected is the following:
@@ -49,5 +49,3 @@ Telemetry is enabled by default. If you decide not to send usage data to Percona
```{.bash data-prompt="$"}
$ docker run -d -e MYSQL_ROOT_PASSWORD=test1234# -e PERCONA_TELEMETRY_DISABLE=1 -e --name=percona-server percona/percona-server:8.1
```
-
-[Percona Privacy statement]: https://www.percona.com/privacy-policy#h.e34c40q8sb1a
\ No newline at end of file
diff --git a/docs/thread-based-profiling.md b/docs/thread-based-profiling.md
index af60034dd5a..b6878d02656 100644
--- a/docs/thread-based-profiling.md
+++ b/docs/thread-based-profiling.md
@@ -6,7 +6,7 @@ process based profiling, threads on the server, other than the one being
profiled, can affect the profiling information.
Thread based profiling is using the information provided by the kernel
-[getrusage](https://kernel.org/doc/man-pages/online/pages/man2/getrusage.2.html)
+[getrusage :octicons-link-external-16:](https://kernel.org/doc/man-pages/online/pages/man2/getrusage.2.html)
function. Since the 2.6.26 kernel version, thread based resource usage
is available with the **RUSAGE_THREAD**. This means that the thread based
profiling will be used if you're running the 2.6.26 kernel or newer, or
@@ -17,6 +17,6 @@ cases it uses process based profiling.
!!! note "Performance Profiling Challenges?"
For advanced performance tuning and profiling strategies,
- [Percona Support](https://www.percona.com/services/support) provides
+ [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support) provides
expert consultation to optimize your database performance.
diff --git a/docs/trademark-policy.md b/docs/trademark-policy.md
index d28904ac006..7a796e0f9b9 100644
--- a/docs/trademark-policy.md
+++ b/docs/trademark-policy.md
@@ -1,6 +1,6 @@
# Trademark policy
-This [Trademark Policy](https://www.percona.com/trademark-policy) is to ensure that users of Percona-branded products or services know that what they receive has really been developed, approved, tested, and maintained by Percona. Trademarks help to prevent confusion in the marketplace, by distinguishing one company’s or person’s products and services from another’s.
+This [Trademark Policy :octicons-link-external-16:](https://www.percona.com/trademark-policy) is to ensure that users of Percona-branded products or services know that what they receive has really been developed, approved, tested, and maintained by Percona. Trademarks help to prevent confusion in the marketplace, by distinguishing one company’s or person’s products and services from another’s.
Percona owns a number of marks, including but not limited to Percona, XtraDB, Percona XtraDB, XtraBackup, Percona XtraBackup, *Percona Server for MySQL*, and Percona Live, plus the distinctive visual icons and logos associated with these marks. Both the unregistered and registered marks of Percona are protected.
diff --git a/docs/trigger-updates.md b/docs/trigger-updates.md
index a065c21410b..f0e3de18f31 100644
--- a/docs/trigger-updates.md
+++ b/docs/trigger-updates.md
@@ -2,9 +2,9 @@
In MySQL, the system efficiently handles multiple client queries to the same table by opening separate table instances for each query. This prevents delays and conflicts. The use of a "Table Cache" speeds up access by reducing the need to repeatedly open and close tables, improving overall performance.
-The [table_open_cache] system variable controls the number of tables MySQL can keep open simultaneously across all threads. By increasing this setting, MySQL can handle more open files, although this requires more file descriptors. Despite a soft limit, MySQL can temporarily exceed it if queries demand more open tables. Upon query completion, MySQL automatically manages the cache by closing the least recently used tables.
+The [table_open_cache :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_table_open_cache) system variable controls the number of tables MySQL can keep open simultaneously across all threads. By increasing this setting, MySQL can handle more open files, although this requires more file descriptors. Despite a soft limit, MySQL can temporarily exceed it if queries demand more open tables. Upon query completion, MySQL automatically manages the cache by closing the least recently used tables.
-The [table_open_cache_instances] system variable controls the number of open table cache instances in MySQL. By splitting the open tables cache into smaller segments (table_open_cache divided by table_open_cache_instances), sessions can access only one instance at a time for DML operations, reducing contention and improving performance when many sessions are running. For systems with 16 or more CPU cores, a value of 8 or 16 is recommended. However, if many large triggers are causing high memory usage, setting this variable to 1 can help limit memory consumption.
+The [table_open_cache_instances :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_table_open_cache_instances) system variable controls the number of open table cache instances in MySQL. By splitting the open tables cache into smaller segments (table_open_cache divided by table_open_cache_instances), sessions can access only one instance at a time for DML operations, reducing contention and improving performance when many sessions are running. For systems with 16 or more CPU cores, a value of 8 or 16 is recommended. However, if many large triggers are causing high memory usage, setting this variable to 1 can help limit memory consumption.
When a table with triggers is opened in the Table Cache, it also reads the trigger definitions and links the open table instance to its specific trigger instances. When a connection executes a Data Manipulation Language (DML) statement that activates a trigger, that connection uses its own instance of the trigger body for that particular table instance. This method of caching both the open table instances and their associated trigger bodies can unexpectedly use a significant amount of memory.
@@ -59,9 +59,4 @@ The `SHOW CREATE TRIGGER` statement displays the SQL command that created a trig
## Additional resources
-For more information, see [How MySQL opens and closes tables].
-
-[table_open_cache]: https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_table_open_cache
-[table_open_cache_instances]: https://dev.mysql.com/doc/refman/{{vers}}/en/server-system-variables.html#sysvar_table_open_cache_instances
-
-[How MySQL opens and closes tables]: https://dev.mysql.com/doc/refman/{{vers}}/en/table-cache.html
\ No newline at end of file
+For more information, see [How MySQL opens and closes tables :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/table-cache.html).
diff --git a/docs/udf-percona-toolkit.md b/docs/udf-percona-toolkit.md
index f9e42b1ad16..76904cd9a27 100644
--- a/docs/udf-percona-toolkit.md
+++ b/docs/udf-percona-toolkit.md
@@ -33,9 +33,9 @@ If the `INSTALL COMPONENT` command fails, try these steps:
components in MySQL.
If you're still facing issues, consider reaching out to
- [Percona Support](https://www.percona.com/services/support)
+ [Percona Support :octicons-link-external-16:](https://www.percona.com/services/support)
for further assistance.
## Other reading
-* Percona Toolkit [documentation](https://docs.percona.com/percona-toolkit/)
+* Percona Toolkit [documentation :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/)
diff --git a/docs/upgrade-checklist-8.4.md b/docs/upgrade-checklist-8.4.md
index a9bcc233fd5..dfb42912c9a 100644
--- a/docs/upgrade-checklist-8.4.md
+++ b/docs/upgrade-checklist-8.4.md
@@ -47,7 +47,7 @@ Complete these checks before starting the upgrade process.
**Action**:
- [ ] Scan object names and queries for unquoted usage; quote or rename as needed.
-- [ ] See: [Keywords and Reserved Words in MySQL {{vers}}](https://dev.mysql.com/doc/refman/{{vers}}/en/keywords.html) for the complete list of reserved keywords.
+- [ ] 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.
### Schema constraints
diff --git a/docs/upgrade-components.md b/docs/upgrade-components.md
index a4b71be1b62..427dca6a01f 100644
--- a/docs/upgrade-components.md
+++ b/docs/upgrade-components.md
@@ -1,6 +1,6 @@
# Upgrade from plugins to components
-[Need help navigating plugin to component transitions? Percona Support can assist.](https://www.percona.com/services/support)
+[Need help navigating plugin to component transitions? Percona Support can assist :octicons-link-external-16:](https://www.percona.com/services/support).
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.
diff --git a/docs/upgrade-procedures.md b/docs/upgrade-procedures.md
index f995ae539bd..8bf128029f4 100644
--- a/docs/upgrade-procedures.md
+++ b/docs/upgrade-procedures.md
@@ -1,6 +1,6 @@
# Upgrade procedures for {{vers}}
-[Need expert guidance for your Percona Server upgrade? Percona Support is here to help.](https://www.percona.com/services/support)
+[Need expert guidance for your Percona Server upgrade? Percona Support is here to help :octicons-link-external-16:](https://www.percona.com/services/support).
This document provides step-by-step procedures for upgrading Percona Server for MySQL using either Percona repositories (recommended) or standalone packages.
@@ -17,7 +17,7 @@ Before beginning the upgrade process:
!!! warning "Critical"
- 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](https://www.percona.com/services/support) is available to assist you.
+ 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.
## Using Percona repositories (recommended)
@@ -62,7 +62,7 @@ Find the instructions on how to enable the repositories in the following documen
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](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html).
+ 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).
7. Restart the service:
@@ -120,7 +120,7 @@ Find the instructions on how to enable the repositories in the following documen
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.
- 9. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html).
+ 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).
10. Restart the server:
@@ -200,7 +200,7 @@ Use this method when you cannot use repositories or need to install from manuall
* `zlib1g-dev`
* `libaio1`
- 6. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html).
+ 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).
7. Restart the service:
@@ -243,7 +243,7 @@ Use this method when you cannot use repositories or need to install from manuall
rpm -qa | grep '^mysql-' | xargs rpm -e --nodeps
```
- 3. Download the packages of the desired series for your architecture from the [download page](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 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:
```{.bash}
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
@@ -286,7 +286,7 @@ Use this method when you cannot use repositories or need to install from manuall
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).
- 7. The mysqld binary automatically runs the upgrade process if needed. To find more information, see [MySQL Upgrade Process](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-what-is-upgraded.html).
+ 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).
8. Restart the server:
diff --git a/docs/upgrade-strategies.md b/docs/upgrade-strategies.md
index 48cc0e9bf17..3d36849d716 100644
--- a/docs/upgrade-strategies.md
+++ b/docs/upgrade-strategies.md
@@ -1,6 +1,6 @@
# Upgrade strategies
-For critical production systems, consider engaging [Percona Support](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.
+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.
## Downgrade options
diff --git a/docs/upgrade.md b/docs/upgrade.md
index c73292f681e..2106d4bf342 100644
--- a/docs/upgrade.md
+++ b/docs/upgrade.md
@@ -2,7 +2,7 @@
--8<--- "get-help-snip.md"
-[Need expert guidance for your upgrade? Percona Support is ready to assist you every step of the way.](https://www.percona.com/services/support).
+[Need expert guidance for your upgrade? Percona Support is ready to assist you every step of the way :octicons-link-external-16:](https://www.percona.com/services/support).
## Why upgrade to Percona Server for MySQL {{vers}} LTS
@@ -30,7 +30,7 @@ Long‑Term Support (LTS) releases focus on stability, predictable security patc
| Unplanned upgrade pressure | Unexpected hardware or OS failures can force a rushed upgrade, increasing the chance of errors. |
[Concerned about these risks?
-Percona Support can help assess and mitigate them.](https://www.percona.com/services/support)
+Percona Support can help assess and mitigate them :octicons-link-external-16:](https://www.percona.com/services/support).
## Upgrade workflow
@@ -103,9 +103,9 @@ After completing the upgrade, complete the post-upgrade validation steps in the
### Tooling to de-risk your upgrade
-* [`pt-upgrade`](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 and execution behavior between Percona Server 8.0 and {{vers}}
-* [Percona XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup) – creates hot backups and lets you test restores without downtime.
+* [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.
* A full dry-run workflow - backup → restore on 8.4 → run smoke/load tests → validate → practice rollback.
@@ -118,7 +118,7 @@ Set up a sandbox and run the upgrade there first. This isolated environment is e
We strongly advise upgrading to the latest LTS release (Percona Server for MySQL {{vers}}) to stay secure, performant, and fully supported.
-[Need personalized support during your upgrade? Contact Percona Support for a detailed migration plan.](https://www.percona.com/services/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
@@ -148,21 +148,21 @@ Review these upgrade-related documents:
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](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading.html)
+* [Upgrading MySQL :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading.html)
-* [Before You Begin](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-before-you-begin.html)
+* [Before You Begin :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-before-you-begin.html)
-* [Upgrade Paths](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-paths.html)
+* [Upgrade Paths :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-paths.html)
-* [Changes in MySQL 8.0](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-from-previous-series.html)
+* [Changes in MySQL 8.0 :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrading-from-previous-series.html)
-* [Preparing your Installation for Upgrade](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-prerequisites.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](https://docs.percona.com/percona-server/latest/release-notes/release-notes_index.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)
-* [Upgrade Troubleshooting](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-troubleshooting.html)
+* [Upgrade Troubleshooting :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/upgrade-troubleshooting.html)
-* [Rebuilding or Repairing Tables or Indexes](https://dev.mysql.com/doc/refman/{{vers}}/en/rebuilding-tables.html)
+* [Rebuilding or Repairing Tables or Indexes :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/rebuilding-tables.html)
-Review other [Percona blogs](https://www.percona.com/blog/) that contain upgrade information.
+Review other [Percona blogs :octicons-link-external-16:](https://www.percona.com/blog/) that contain upgrade information.
diff --git a/docs/use-keyring-file.md b/docs/use-keyring-file.md
index d18c15bf5fd..d99f49291c5 100644
--- a/docs/use-keyring-file.md
+++ b/docs/use-keyring-file.md
@@ -6,7 +6,7 @@ The `keyring_file` component is part of the component-based MySQL infrastructure
Percona Server for MySQL {{vers}} does not support the `keyring_file` plugin.
-See the MySQL documentation on the [component installation] and on the [keyring_file component usage] for more information.
+See the MySQL documentation on the [component installation :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html) and on the [keyring_file component usage :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-file-component.html) for more information.
--8<--- "keyring-components-installation.md"
@@ -27,6 +27,4 @@ An example of `/lib/plugin/component_keyring_file.cnf`:
"path": "/var/lib/mysql-keyring/keyring_file", "read_only": false
}
```
-
-[component installation]: https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html
-[keyring_file component usage]: https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-file-component.html
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/use-keyring-vault-component.md b/docs/use-keyring-vault-component.md
index 5060bda165c..f41cb1f834d 100644
--- a/docs/use-keyring-vault-component.md
+++ b/docs/use-keyring-vault-component.md
@@ -1,6 +1,6 @@
# Use the keyring vault component
-The `keyring_vault` component extends the server capabilities and provides an interface for the database with a [HashiCorp Vault] server to store key and secure encryption keys.
+The `keyring_vault` component extends the server capabilities and provides an interface for the database with a [HashiCorp Vault :octicons-link-external-16:](https://www.hashicorp.com/products/vault/data-protection) server to store key and secure encryption keys.
--8<--- "keyring-components-installation.md"
@@ -31,11 +31,11 @@ The following is an example of a local manifest file:
The configuration settings are either in a global configuration file or a local configuration file.
-The component communicates with the [Hashicorp Vault server](https://developer.hashicorp.com/vault/docs/install). Prepare the certificate and key files for a secure HTTPS connection to the server. You must have an organizational Certificate Authority (CA), a private vault key, and certificate for the Hashicorp Vault server instance.
+The component communicates with the [Hashicorp Vault server :octicons-link-external-16:](https://developer.hashicorp.com/vault/docs/install). Prepare the certificate and key files for a secure HTTPS connection to the server. You must have an organizational Certificate Authority (CA), a private vault key, and certificate for the Hashicorp Vault server instance.
-You can use [OpenSSL](https://www.openssl.org/docs/man3.0/index.html) to generate these files or use existing files. The key files contain sensitive information. Store these key files and the password used to create each key in a secure location.
+You can use [OpenSSL :octicons-link-external-16:](https://www.openssl.org/docs/man3.0/index.html) to generate these files or use existing files. The key files contain sensitive information. Store these key files and the password used to create each key in a secure location.
-You can use the Hashicorp Vault to [build your own CA](https://developer.hashicorp.com/vault/tutorials/secrets-management/pki-engine), if needed, and then create a Hashicorp Vault server certificate.
+You can use the Hashicorp Vault to [build your own CA :octicons-link-external-16:](https://developer.hashicorp.com/vault/tutorials/secrets-management/pki-engine), if needed, and then create a Hashicorp Vault server certificate.
The `component_keyring_vault.cnf` file contains the following information:
@@ -110,10 +110,8 @@ Use either of the following methods:
!!! admonition "See also"
- [Hashicorp Documentation: Installing Vault]
+ [Hashicorp Documentation: Installing Vault :octicons-link-external-16:](https://www.vaultproject.io/docs/install/index.html)
- [Hashicorp Documentation: Production Hardening]
-
-[Hashicorp Documentation: Installing Vault]: https://www.vaultproject.io/docs/install/index.html
-[Hashicorp Documentation: Production Hardening]: https://learn.hashicorp.com/vault/operations/production-hardening
-[HashiCorp Vault]: https://www.hashicorp.com/products/vault/data-protection
+ [Hashicorp Documentation: Production Hardening :octicons-link-external-16:](https://learn.hashicorp.com/vault/operations/production-hardening
+)
+
\ No newline at end of file
diff --git a/docs/using-amz-kms.md b/docs/using-amz-kms.md
index 04cfcf9a5d4..3b266967cc9 100644
--- a/docs/using-amz-kms.md
+++ b/docs/using-amz-kms.md
@@ -1,10 +1,10 @@
# Use the Amazon Key Management Service (AWS KMS)
-Percona Server for MySQL supports the [Amazon Key Management Service (AWS KMS)](https://aws.amazon.com/kms/). Percona Server
+Percona Server for MySQL supports the [Amazon Key Management Service (AWS KMS) :octicons-link-external-16:](https://aws.amazon.com/kms/). Percona Server
generates the keyring keys. Amazon Web Services (AWS) encrypts the keyring data.
The AWS KMS lets you create and manage cryptographic keys across AWS services. For more information, see the
-[AWS Key Management Service Documentation](https://docs.aws.amazon.com/kms/).
+[AWS Key Management Service Documentation :octicons-link-external-16:](https://docs.aws.amazon.com/kms/).
To use the AWS KMS component, do the following:
@@ -17,7 +17,7 @@ either by its ID, alias (the key can have any number of aliases), or ARN.
--8<--- "keyring-components-installation.md"
-For more information, see [Installing and Uninstalling Components].
+For more information, see [Installing and Uninstalling Components :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/component-loading.html).
The following example is a global manifest file that does not use local
manifests:
@@ -65,7 +65,7 @@ following:
* ARN
-For more information, see [Finding the key ID and key ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html).
+For more information, see [Finding the key ID and key ARN :octicons-link-external-16:](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html).
* region - the AWS where the KMS is stored. Any HTTP request connect to this region.
@@ -90,7 +90,4 @@ For more information, see [Finding the key ID and key ARN](https://docs.aws.amaz
}
```
-For more information, see [Keyring Component installation].
-
-[Installing and Uninstalling Components]: https://dev.mysql.com/doc/refman/{{vers}}/en/component-loading.html
-[Keyring Component installation]: https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html
+For more information, see [Keyring Component installation :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html).
diff --git a/docs/using-kmip.md b/docs/using-kmip.md
index 5813eba6d9d..5f6f711b1e2 100644
--- a/docs/using-kmip.md
+++ b/docs/using-kmip.md
@@ -1,6 +1,6 @@
# Use the Key Management Interoperability Protocol (KMIP)
-Percona Server for MySQL supports the [OASIS Key Management Interoperability Protocol (KMIP)](https://docs.oasis-open.org/kmip/kmip-spec/v2.0/os/kmip-spec-v2.0-os.html). This implementation was tested with the [PyKMIP server](https://pykmip.readthedocs.io/en/latest/server.html) and the [HashiCorp Vault Enterprise KMIP Secrets Engine](https://www.vaultproject.io/docs/secrets/kmip).
+Percona Server for MySQL supports the [OASIS Key Management Interoperability Protocol (KMIP) :octicons-link-external-16:](https://docs.oasis-open.org/kmip/kmip-spec/v2.0/os/kmip-spec-v2.0-os.html). This implementation was tested with the [PyKMIP server :octicons-link-external-16:](https://pykmip.readthedocs.io/en/latest/server.html) and the [HashiCorp Vault Enterprise KMIP Secrets Engine :octicons-link-external-16:](https://www.vaultproject.io/docs/secrets/kmip).
KMIP enables communication between key management systems and the database server. The protocol can do the following:
@@ -12,7 +12,7 @@ KMIP enables communication between key management systems and the database serve
--8<--- "keyring-components-installation.md"
-For more information, see [Installing and Uninstalling Components].
+For more information, see [Installing and Uninstalling Components :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/component-loading.html).
The following is an example of a global manifest file that does not use local manifests:
@@ -53,7 +53,4 @@ The configuration settings are either in a global configuration file or a local
}
```
-For more information, see [Keyring Component installation].
-
-[Installing and Uninstalling Components]: https://dev.mysql.com/doc/refman/{{vers}}/en/component-loading.html
-[Keyring Component installation]: https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html
+For more information, see [Keyring Component installation :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/keyring-component-installation.html).
diff --git a/docs/utility-user.md b/docs/utility-user.md
index 2be504e4835..30738bf6274 100644
--- a/docs/utility-user.md
+++ b/docs/utility-user.md
@@ -6,7 +6,7 @@ This user has a mixed and special scope of abilities and protection:
* Utility user does not appear in the mysql.user table and can not be modified by any other user, including root.
-* Utility user does not appear in [INFORMATION_SCHEMA.USER_STATISTICS](user-stats.md#information_schemauser_statistics), [INFORMATION_SCHEMA.CLIENT_STATISTICS](user-stats.md#information_schemaclient_statistics) or THREAD_STATISTICS tables or in any [performance_schema tables](https://dev.mysql.com/doc/dev/mysql-server/latest/group__performance__schema__tables.html).
+* Utility user does not appear in [INFORMATION_SCHEMA.USER_STATISTICS](user-stats.md#information_schemauser_statistics), [INFORMATION_SCHEMA.CLIENT_STATISTICS](user-stats.md#information_schemaclient_statistics) or THREAD_STATISTICS tables or in any [performance_schema tables :octicons-link-external-16:](https://dev.mysql.com/doc/dev/mysql-server/latest/group__performance__schema__tables.html).
* Utility user’s queries may appear in the general and slow logs.
@@ -41,7 +41,7 @@ In order to have the ability for a special type of MySQL user, which will have a
Specifies a MySQL user that will be added to the internal list of users and recognized as the utility user.
-Option [utility_user](#utility_user) specifies the user which the system creates and recognizes as the utility user. The host in the utility user specification follows conventions described in the [MySQL manual](https://dev.mysql.com/doc/refman/{{vers}}/en/connection-access.html). For example, the conventions allow wildcards and IP masks. Anonymous user names are not permitted to be used for the utility user name.
+Option [utility_user](#utility_user) specifies the user which the system creates and recognizes as the utility user. The host in the utility user specification follows conventions described in the [MySQL manual :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/connection-access.html). For example, the conventions allow wildcards and IP masks. Anonymous user names are not permitted to be used for the utility user name.
This user must not be an exact match to any other user that exists in the mysql.user table. If the server detects that the user specified with this option exactly matches any user within the mysql.user table on start up, the server reports an error and exits gracefully.
diff --git a/docs/yum-download-rpm.md b/docs/yum-download-rpm.md
index 759f3660f54..bff72a8d80f 100644
--- a/docs/yum-download-rpm.md
+++ b/docs/yum-download-rpm.md
@@ -1,6 +1,6 @@
# Install Percona Server for MySQL using downloaded RPM packages
-Download the packages from [Percona Product Downloads](https://www.percona.com/downloads). If needed, [Instructions for the Percona Product Download](download-instructions.md) are available.
+Download the packages from [Percona Product Downloads :octicons-link-external-16:](https://www.percona.com/downloads). If needed, [Instructions for the Percona Product Download](download-instructions.md) are available.
The RPM builds for *RHEL* 8 and *RHEL* 9 contain ARM packages with the aarch64.rpm extension. This means that Percona Server for MySQL is available for users on ARM-based systems.
@@ -9,7 +9,7 @@ The following example downloads *Percona Server for MySQL* {{release}} release `
1. Use `wget` to download the tar file.
- The download filename includes a `` value. This value is *build-specific* and must be obtained from the [Percona Product Downloads](https://www.percona.com/downloads) page for the exact release you are installing. Select the product, version, and operating system, and find the link with the required `` under the **Download all packages** button. For more details, see the [Instructions for Percona Product Downloads](download-instructions.md).
+ The download filename includes a `` value. This value is *build-specific* and must be obtained from the [Percona Product Downloads :octicons-link-external-16:](https://www.percona.com/downloads) page for the exact release you are installing. Select the product, version, and operating system, and find the link with the required `` under the **Download all packages** button. For more details, see the [Instructions for Percona Product Downloads](download-instructions.md).
```{.bash data-prompt="$"}
$ wget https://downloads.percona.com/downloads/Percona-Server-8.4/Percona-Server-{{release}}/binary/redhat/8/x86_64/Percona-Server-{{release}}--el8-x86_64-bundle.tar
diff --git a/docs/yum-repo.md b/docs/yum-repo.md
index ff9fbb10522..a24805b04ae 100644
--- a/docs/yum-repo.md
+++ b/docs/yum-repo.md
@@ -1,10 +1,10 @@
# Use an RPM repository to install Percona Server for MySQL {{vers}}
-Ready-to-use packages are available from the Percona Server for MySQL software repositories and the [Percona downloads] page.
+Ready-to-use packages are available from the Percona Server for MySQL software repositories and the [Percona downloads :octicons-link-external-16:](https://www.percona.com/downloads/) page.
-The Percona yum repository supports popular RPM-based operating systems. The easiest way to install the Percona RPM repository is to install an RPM that configures yum and installs the [Percona GPG key](https://www.percona.com/downloads/RPM-GPG-KEY-percona).
+The Percona yum repository supports popular RPM-based operating systems. The easiest way to install the Percona RPM repository is to install an RPM that configures yum and installs the [Percona GPG key :octicons-link-external-16:](https://www.percona.com/downloads/RPM-GPG-KEY-percona).
-Specific information on the supported platforms, products, and versions is described in [Percona Software and Platform Lifecycle](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
+Specific information on the supported platforms, products, and versions is described in [Percona Software and Platform Lifecycle :octicons-link-external-16:](https://www.percona.com/services/policies/percona-software-platform-lifecycle#mysql).
--8<-- "percona-release.md"
@@ -31,7 +31,7 @@ The packages are signed with GPG keys for security. The installation process aut
## Red Hat certified
-Percona Server for MySQL is certified for Red Hat Enterprise Linux 8. This certification is based on common and secure best practices and successful interoperability with the operating system. Percona Server is listed in the [Red Hat Ecosystem Catalog](https://catalog.redhat.com/software/applications/detail/112055).
+Percona Server for MySQL is certified for Red Hat Enterprise Linux 8. This certification is based on common and secure best practices and successful interoperability with the operating system. Percona Server is listed in the [Red Hat Ecosystem Catalog :octicons-link-external-16:](https://catalog.redhat.com/software/applications/detail/112055).
## ARM support
@@ -182,7 +182,7 @@ DNF is the default package manager for RHEL 8 and newer systems. To install Perc
* Review error messages for specific issues
-See [Configuring Percona repositories with `percona-release`](https://docs.percona.com/percona-software-repositories/percona-release.html) for more information.
+See [Configuring Percona repositories with `percona-release` :octicons-link-external-16:](https://docs.percona.com/percona-software-repositories/percona-release.html) for more information.
## Install using YUM (RHEL 7 and older)
@@ -318,7 +318,7 @@ After successful installation, see [Post-installation](post-installation.md) for
## Install Percona Toolkit UDFs (optional)
-Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit](https://docs.percona.com/percona-toolkit/). These UDFs provide faster checksum calculations:
+Percona Server for MySQL includes user-defined functions (UDFs) from [Percona Toolkit :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/). These UDFs provide faster checksum calculations:
* `fnv_64`: Fast hash function
@@ -400,6 +400,4 @@ $ sudo yum update
All packages are up to date.
```
-[Percona downloads]: https://www.percona.com/downloads/Percona-Server-{{vers}}/
-
[Telemetry data]: telemetry.md
diff --git a/mkdocs-base.yml b/mkdocs-base.yml
index 2c9b0f56287..005823a175e 100644
--- a/mkdocs-base.yml
+++ b/mkdocs-base.yml
@@ -117,6 +117,7 @@ markdown_extensions:
plugins:
search:
separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
+ open-in-new-tab: {}
git-revision-date-localized:
enable_creation_date: true
enabled: !ENV [ENABLED_GIT_REVISION_DATE, True]
diff --git a/requirements.txt b/requirements.txt
index 62a21d396bc..dd1f7d8dfe9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,8 +11,9 @@ mkdocs-bootstrap-tables-plugin
mkdocs-section-index
mkdocs-htmlproofer-plugin
mkdocs-meta-descriptions-plugin
-mike
mkdocs-open-in-new-tab
mkdocs-print-site-plugin
mkdocs-git-committers-plugin-2
-mkdocs-git-revision-date-localized-plugin
\ No newline at end of file
+mkdocs-git-revision-date-localized-plugin
+mkdocs-open-in-new-tab
+mike