diff --git a/docs/binaries-overview.md b/docs/binaries-overview.md index 6beb5e09..682f3197 100644 --- a/docs/binaries-overview.md +++ b/docs/binaries-overview.md @@ -175,7 +175,7 @@ xbstream -x -C /restore/directory < backup.xbstream xtrabackup --backup --stream=xbstream | xbstream -c -C /backup/directory ``` -Documentation: [xbstream Overview :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/8.4/xbstream.html) +Documentation: [xbstream Overview :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/{{vers}}/xbstream-binary-overview.html) Command Line Options: [xbstream Options](xbstream-options.md) diff --git a/docs/quickstart-docker.md b/docs/quickstart-docker.md index b7aab962..5fa409ca 100644 --- a/docs/quickstart-docker.md +++ b/docs/quickstart-docker.md @@ -13,8 +13,8 @@ The benefits of using a Docker volume are the following: * You can quickly backup and restore your data using the `docker cp` command or mount the volume to another container. -```{.bash data-prompt="$"} -$ docker volume create backupvol +```shell +docker volume create backupvol ``` ??? example "Expected output" @@ -42,7 +42,7 @@ In our example, the command has the following options: |`--password` | Prompts the user to enter the password for the root user. For convenience you can add the password for the root user to this option, for example, `--password=secret`. Then the password will be passed automaticaly when running the command. Note that if you specify the password with `--password=secret`, the password is visible in `docker ps`, `docker ps -a` (docker history) and regular ps command. | | `8.4` | Use this tag to specify a specific version. Avoid using the `latest` tag.
In our example, we use the `8.4` tag. In Docker, a tag is a label assigned to an image and is used to maintain different versions of an image.| -If you do not add a tag, Docker uses `latest` as the default tag and downloads the newest image from [percona/percona-xtrabackup on the Docker Hub](https://hub.docker.com/r/percona/percona-xtrabackup). This image can be in a different series or version from what you expect since the latest image changes over time. If you are using Percona XtraBackup version prior to 8.4, use tags to ensure that you use [compatible versions](server-backup-version-comparison.md) of Percona Server for MySQL and Percona XtraBackup. +If you do not add a tag, Docker uses `latest` as the default tag and downloads the newest image from [percona/percona-xtrabackup on the Docker Hub :octicons-link-external-16:](https://hub.docker.com/r/percona/percona-xtrabackup). This image can be in a different series or version from what you expect since the latest image changes over time. If you are using Percona XtraBackup version prior to 8.4, use tags to ensure that you use [compatible versions](server-backup-version-comparison.md) of Percona Server for MySQL and Percona XtraBackup. The CPU architecture or platform for Percona Server for MySQL and Percona XtraBackup should be the same. If you want to use a different platform, you can add the following command: @@ -58,8 +58,8 @@ You can run the Docker ARM64 version of Percona XtraBackup. Use the `8.4-aarch64 We recommend using the `–-user root` option in the Docker command. Run a Docker container example -```{.bash data-prompt="$"} -$ docker run --name pxb --volumes-from psmysql -v backupvol:/backup_84 -it --user root percona/percona-xtrabackup:8.4 /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup_84 --user=root --password; xtrabackup --prepare --target-dir=/backup_84" +```shell +docker run --name pxb --volumes-from psmysql -v backupvol:/backup_84 -it --user root percona/percona-xtrabackup:8.4 /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup_84 --user=root --password; xtrabackup --prepare --target-dir=/backup_84" ``` You are prompted to enter the password. In our example, the password is `secret`. @@ -99,8 +99,8 @@ You can check the Xtrabackup logs with the `docker container logs exit + ```sql + exit ``` ??? example "Expected output" @@ -27,8 +27,8 @@ The steps are as follows: * Remove `psmysql2`, `psmysql` and `pxb` Docker containers: - ```{.bash data-prompt="$"} - $ docker container rm psmysql2 -f + ```shell + docker container rm psmysql2 -f ``` ??? example "Expected output" @@ -37,8 +37,8 @@ The steps are as follows: psmysql2 ``` - ```{.bash data-prompt="$"} - $ docker container rm psmysql -f + ```shell + docker container rm psmysql -f ``` ??? example "Expected output" @@ -47,8 +47,8 @@ The steps are as follows: psmysql ``` - ```{.bash data-prompt="$"} - $ docker container rm pxb -f + ```shell + docker container rm pxb -f ``` ??? example "Expected output" @@ -59,8 +59,8 @@ The steps are as follows: * Remove `percona/percona-server:8.0.34` and `percona/percona-xtrabackup:8.0.34` Docker images - ```{.bash data-prompt="$"} - $ docker image rmi percona/percona-server:8.0.34 + ```shell + docker image rmi percona/percona-server:8.0.34 ``` ??? example "Expected output" @@ -69,8 +69,8 @@ The steps are as follows: Untagged: percona/percona-server:8.0.34 ``` - ```{.bash data-prompt="$"} - $ docker image rmi percona/percona-xtrabackup:8.0.34 + ```shell + docker image rmi percona/percona-xtrabackup:8.0.34 ``` ??? example "Expected output" @@ -91,8 +91,8 @@ The steps are as follows: Remove `backupvol` and `myvol2` Docker volumes: - ```{.bash data-prompt="$"} - $ docker volume rm backupvol + ```shell + docker volume rm backupvol ``` ??? example "Expected output" @@ -101,8 +101,8 @@ The steps are as follows: backupvol ``` - ```{.bash data-prompt="$"} - $ docker volume rm myvol2 + ```shell + docker volume rm myvol2 ``` ??? example "Expected output" diff --git a/docs/quickstart-next-steps.md b/docs/quickstart-next-steps.md index 8d5f7f9e..bac378a3 100644 --- a/docs/quickstart-next-steps.md +++ b/docs/quickstart-next-steps.md @@ -2,7 +2,7 @@ After you take your first backup with Percona Xtrabackup, it's high time to expand your knowledge and skills in using Percona Xtrabackup. -Review the [Percona Xtrabackup documentation](https://docs.percona.com/percona-xtrabackup/8.0/) for more information. +Review the [Percona Xtrabackup documentation :octicons-link-external-16:](https://docs.percona.com/percona-xtrabackup/{{vers}}/) for more information. ## Learn more about other Percona products @@ -10,23 +10,23 @@ Review the [Percona Xtrabackup documentation](https://docs.percona.com/percona-x Percona Server for MySQL (PS) is a freely available, fully compatible, enhanced, and open source drop-in replacement for any MySQL database. It provides superior and optimized performance, greater scalability and availability, enhanced backups, increased visibility, and instrumentation. Percona Server for MySQL is trusted by thousands of enterprises to provide better performance and concurrency for their most demanding workloads. -Install [Percona Server for MySQL](https://docs.percona.com/percona-server/8.0/installation.html). +Install [Percona Server for MySQL :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/installation.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 performance and scalability of your database environments supporting your critical business applications in the most demanding public, private, and hybrid cloud environments. -Install [Percona XtraDB Cluster](https://docs.percona.com/percona-xtradb-cluster/8.0/install-index.html). +Install [Percona XtraDB Cluster :octicons-link-external-16:](https://docs.percona.com/percona-xtradb-cluster/{{vers}}/install-index.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/3/quickstart/quickstart.html#connect-database). +[Install PMM and connect your MySQL instances to it :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/3/quickstart/quickstart.html#connect-database). ### Advanced command-line tools Percona Toolkit is a collection of advanced command-line tools used by the Percona support staff to perform a variety of 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 require installing libraries. -[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/quickstart-overview.md b/docs/quickstart-overview.md index 2a2ee3c1..be8701ea 100644 --- a/docs/quickstart-overview.md +++ b/docs/quickstart-overview.md @@ -26,20 +26,20 @@ This guide will help you get started quickly, but there's a lot more to learn ab ## Prerequisites -* [Install Docker](https://docs.docker.com/engine/install/) on your system. +* [Install Docker :octicons-link-external-16:](https://docs.docker.com/engine/install/) on your system. To take a backup of Percona Server for MySQL, run Percona Server for MySQL in a Docker container and create a database, and a table. -* [Start Percona Server in a Docker container](https://docs.percona.com/percona-server/8.4/quickstart-docker.html) -* [Create a database and table in Percona Server](https://docs.percona.com/percona-server/8.4/quickstart-docker.html#create-a-database) +* [Start Percona Server in a Docker container :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/quickstart-docker.html) +* [Create a database and table in Percona Server :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/quickstart-docker.html#create-a-database) ### Limitations -Percona XtraBackup 8.4 does not support making backups of databases created in versions before the 8.4 series of MySQL, Percona Server for MySQL, or Percona XtraDB Cluster. +Percona XtraBackup {{vers}} does not support making backups of databases created in versions before the {{vers}} series of MySQL, Percona Server for MySQL, or Percona XtraDB Cluster. ### Support servers and storage engines -Percona XtraBackup 8.4 supports backing up data from various MySQL-compatible servers and storage engines. +Percona XtraBackup {{vers}} supports backing up data from various MySQL-compatible servers and storage engines. Supported Servers: diff --git a/docs/quickstart-restore-back.md b/docs/quickstart-restore-back.md index 22ad9dc3..1c7f5907 100644 --- a/docs/quickstart-restore-back.md +++ b/docs/quickstart-restore-back.md @@ -5,8 +5,8 @@ The following steps describe how to restore your backup to another Percona Serve 1. Create another Docker volume - ```{.bash data-prompt="$"} - $ docker volume create myvol2 + ```shell + docker volume create myvol2 ``` ??? example "Expected output" @@ -33,8 +33,8 @@ The following steps describe how to restore your backup to another Percona Serve * Run a Docker container example - ```{.bash data-prompt="$"} - $ docker run -d -p 3307:3306 --name psmysql2 -e MYSQL_ROOT_PASSWORD=secret -v myvol2:/var/lib/mysql percona/percona-server:8.4 + ```shell + docker run -d -p 3307:3306 --name psmysql2 -e MYSQL_ROOT_PASSWORD=secret -v myvol2:/var/lib/mysql percona/percona-server:8.4 ``` ??? example "Expected output" @@ -46,8 +46,8 @@ The following steps describe how to restore your backup to another Percona Serve 3. Stop `psmysql2` container - ```{.bash data-prompt="$"} - $ docker stop psmysql2 + ```shell + docker stop psmysql2 ``` ??? example "Expected output" @@ -60,16 +60,16 @@ The following steps describe how to restore your backup to another Percona Serve The `--rm` option automatically removes the temporary container created from percona/percona-xtrabackup:8.0.34 image after the container exits. - ```{.bash data-prompt="$"} - $ docker run --volumes-from psmysql2 -v backupvol:/backup_84 -it --rm --user root percona/percona-xtrabackup:8.4 /bin/bash -c "rm -rf /var/lib/mysql/*" + ```shell + docker run --volumes-from psmysql2 -v backupvol:/backup_84 -it --rm --user root percona/percona-xtrabackup:8.4 /bin/bash -c "rm -rf /var/lib/mysql/*" ``` If the command executes successfully, the expected output is empty. 5. Restore backup of `psmysql` from `backupvol` to a new `psmysql2` instance. - ```{.bash data-prompt="$"} - $ docker run --platform linux/amd64 --volumes-from psmysql2 -v backupvol:/backup_84 -it --rm --user root percona/percona-xtrabackup:8.4 /bin/bash -c "xtrabackup --copy-back --datadir=/var/lib/mysql/ --target-dir=/backup_84" + ```shell + docker run --platform linux/amd64 --volumes-from psmysql2 -v backupvol:/backup_84 -it --rm --user root percona/percona-xtrabackup:8.4 /bin/bash -c "xtrabackup --copy-back --datadir=/var/lib/mysql/ --target-dir=/backup_84" ``` ??? example "Expected output" @@ -98,16 +98,16 @@ This section describes the backup validation steps assuming that you backed up ` To avoid permission issues when running `psmysql2` container, you need to change the owner because the files were restored by `root` user and `psmysql2` will use `mysql` user. - ```{.bash data-prompt="$"} - $ docker run --volumes-from psmysql2 -v backupvol:/backup_84 -it --rm --user root percona/percona-xtrabackup:8.4 /bin/bash -c "chown -R mysql:mysql /var/lib/mysql/" + ```shell + docker run --volumes-from psmysql2 -v backupvol:/backup_84 -it --rm --user root percona/percona-xtrabackup:8.4 /bin/bash -c "chown -R mysql:mysql /var/lib/mysql/" ``` If the command executes successfully, the expected output is empty. 2. Start the `psmysql2` container - ```{.bash data-prompt="$"} - $ docker start psmysql2 + ```shell + docker start psmysql2 ``` ??? example "Expected output" @@ -130,8 +130,8 @@ This section describes the backup validation steps assuming that you backed up ` * Connect to the database instance example - ```{.bash data-prompt="$"} - $ docker exec -it psmysql2 mysql -uroot -p + ```shell + docker exec -it psmysql2 mysql -uroot -p ``` You are prompted to enter the password, which is `secret`. @@ -161,8 +161,8 @@ This section describes the backup validation steps assuming that you backed up ` 4. Check the list of databases to make sure, the backed up, `mydb` database is in the list. - ```{.bash data-prompt="mysql>"} - mysql> show databases; + ```sql + show databases; ``` ??? example "Expected output" @@ -191,8 +191,8 @@ This section describes the backup validation steps assuming that you backed up ` 5. Use the `mydb` database. - ```{.bash data-prompt="mysql>"} - mysql> use mydb; + ```sql + use mydb; ``` ??? example "Expected output" @@ -203,8 +203,8 @@ This section describes the backup validation steps assuming that you backed up ` 6. Check that your table contains data - ```{.bash data-prompt="mysql>"} - mysql> SELECT * FROM employees; + ```sql + SELECT * FROM employees; ``` ??? example "Expected output" diff --git a/docs/redo-log-archiving.md b/docs/redo-log-archiving.md index c67754bd..b0d4a03a 100644 --- a/docs/redo-log-archiving.md +++ b/docs/redo-log-archiving.md @@ -45,10 +45,10 @@ Before enabling redo log archiving, create a directory to store archived redo lo Use the following commands to create and secure the directory: -```{.bash data-prompt="$"} -$ sudo mkdir -p /var/lib/mysql-redo-archive/backup1 -$ sudo chown -R mysql:mysql /var/lib/mysql-redo-archive -$ sudo chmod -R 700 /var/lib/mysql-redo-archive/ +```shell +sudo mkdir -p /var/lib/mysql-redo-archive/backup1 +sudo chown -R mysql:mysql /var/lib/mysql-redo-archive +sudo chmod -R 700 /var/lib/mysql-redo-archive/ ``` * `mkdir -p` creates the directory and any missing parent directories @@ -67,14 +67,14 @@ The `innodb_redo_log_archive_dirs` variable defines labeled archive paths. Use a Set and persist the variable: -```{.bash data-prompt="mysql>"} -mysql> SET PERSIST innodb_redo_log_archive_dirs='backup1:/var/lib/mysql-redo-archive/'; +```sql +SET PERSIST innodb_redo_log_archive_dirs='backup1:/var/lib/mysql-redo-archive/'; ``` Verify the configuration: -```{.bash data-prompt="mysql>"} -mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_redo_log_ar%'; +```sql +SHOW GLOBAL VARIABLES LIKE 'innodb_redo_log_ar%'; ``` ??? example "Expected output" @@ -101,8 +101,8 @@ To begin archiving redo logs, call `innodb_redo_log_archive_start()`. This funct Use the same label defined in the `innodb_redo_log_archive_dirs` variable. The function requires the `INNODB_REDO_LOG_ARCHIVE` privilege. -```{.bash data-prompt="mysql>"} -mysql> SELECT innodb_redo_log_archive_start('backup1','backup1'); +```sql +SELECT innodb_redo_log_archive_start('backup1','backup1'); ``` * The first argument is the label used in the configuration @@ -117,8 +117,8 @@ To stop redo log archiving, call `innodb_redo_log_archive_stop()`. This function You must use the same label as when you started archiving. The function requires the `INNODB_REDO_LOG_ARCHIVE` privilege. -```{.bash data-prompt="mysql>"} -mysql> SELECT innodb_redo_log_archive_stop('backup1'); +```sql +SELECT innodb_redo_log_archive_stop('backup1'); ``` * The argument is the label defined in the archive configuration @@ -151,9 +151,9 @@ Percona XtraBackup supports redo log archiving. If the archive directory is not Run XtraBackup as the mysql user: -```{.bash data-prompt="$"} -$ sudo -H -u mysql bash -$ xtrabackup --no-lock=1 --compress --parallel=4 \ +```shell +sudo -H -u mysql bash +xtrabackup --no-lock=1 --compress --parallel=4 \ --host=localhost --user=root --password='password_string' \ --backup=1 --target-dir=/Backup/13oct \ 2> /tmp/b0-with-redo-archiving-as-mysql-os-user.log @@ -161,8 +161,8 @@ $ xtrabackup --no-lock=1 --compress --parallel=4 \ Use the following command to verify that archiving has occurred: -```{.bash data-prompt="$"} -$ cat /tmp/b0-with-redo-archiving-as-mysql-os-user.log +```shell +cat /tmp/b0-with-redo-archiving-as-mysql-os-user.log ``` ??? example "Expected output" diff --git a/docs/restore-a-backup.md b/docs/restore-a-backup.md index 0036d690..abde0d4c 100644 --- a/docs/restore-a-backup.md +++ b/docs/restore-a-backup.md @@ -14,7 +14,7 @@ Ensure you have one of the following before proceeding: For convenience, *xtrabackup* binary has the `--copy-back` option to copy the backup to the datadir of the server: -```bash +```shell xtrabackup --copy-back --target-dir=/data/backups/ ``` @@ -28,7 +28,7 @@ If you don’t want to use `--copy-back` and `--move-back` options, you can also An example of the **rsync** command to restore the backup: -```bash +```shell rsync -avrP /data/backup/ /var/lib/mysql/ ``` @@ -36,7 +36,7 @@ You should check that the restored files have the correct ownership and permissi As files’ attributes are preserved, in most cases you must change the files’ ownership to `mysql` before starting the database server, as the files are owned by the user who created the backup: -```bash +```shell chown -R mysql:mysql /var/lib/mysql ``` @@ -100,7 +100,7 @@ After preparing and restoring the backup, do the following steps: 3. Ensure the file has the correct ownership: - ```bash + ```shell chown mysql:mysql /var/lib/mysql/grastate.dat ``` diff --git a/docs/restore-individual-partitions.md b/docs/restore-individual-partitions.md index 050a6a29..ad04ad0d 100644 --- a/docs/restore-individual-partitions.md +++ b/docs/restore-individual-partitions.md @@ -5,8 +5,8 @@ server. First step is to create new table in which data will be restored. -```{.bash data-prompt="mysql>"} -mysql> CREATE TABLE `name_p4` ( +```sql +CREATE TABLE `name_p4` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, `imdb_index` varchar(12) DEFAULT NULL, @@ -20,14 +20,14 @@ PRIMARY KEY (`id`) !!! note - Generate a [.cfg metadata file] by running `FLUSH TABLES ... FOR EXPORT`. The command can only be run on a table, not on the individual table partitions. + Generate a [.cfg metadata file :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-table-import.html) by running `FLUSH TABLES ... FOR EXPORT`. The command can only be run on a table, not on the individual table partitions. The file is located in the table schema directory and is used for schema verification when importing the tablespace. To restore the partition from the backup, the tablespace must be discarded for that table: -```{.bash data-prompt="mysql>"} -mysql> ALTER TABLE name_p4 DISCARD TABLESPACE; +```sql +ALTER TABLE name_p4 DISCARD TABLESPACE; ``` The next step is to copy the `.ibd` file from the backup to the MySQL data directory: @@ -42,8 +42,6 @@ cp /mnt/backup/2012-08-28_10-29-09/imdb/name#P#p4.ibd /var/lib/mysql/imdb/name_p The last step is to import the tablespace: -```{.bash data-prompt="mysql>"} -mysql> ALTER TABLE name_p4 IMPORT TABLESPACE; +```sql +ALTER TABLE name_p4 IMPORT TABLESPACE; ``` - -[.cfg metadata file]: https://dev.mysql.com/doc/refman/{{vers}}/en/innodb-table-import.html \ No newline at end of file diff --git a/docs/restore-individual-tables.md b/docs/restore-individual-tables.md index a345996b..72b6b739 100644 --- a/docs/restore-individual-tables.md +++ b/docs/restore-individual-tables.md @@ -19,12 +19,12 @@ When moving tables, you'll work with several important files. Each file has a sp The following example shows the export and import process for a table called `export_test`: -```{.bash data-prompt="$"} +```bash mysql -u -p -e "CREATE DATABASE create_database_test;" ``` -```{.bash data-prompt="$"} -mysql> CREATE TABLE export_test ( +```sql +CREATE TABLE export_test ( a int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ``` @@ -43,21 +43,21 @@ By saving schemas ahead of time, you ensure that all the table blueprints are re First, create the table using the `innodb_file_per_table` setting. This setting tells MySQL to create a separate `.ibd` file for each table in your source directory. Run this command to find the created file in your system: -```{.bash data-prompt="$"} -$ find /data/backups/mysql/ -name export_test.* +```shell +find /data/backups/mysql/ -name export_test.* /data/backups/mysql/test/export_test.ibd ``` Next, when you run the `--prepare` phase, add the [--export] option to your command. This option tells XtraBackup to create any extra files needed for moving the table: -```{.bash data-prompt="$"} -$ xtrabackup --prepare --export --target-dir=/data/backups/mysql/ +```shell +xtrabackup --prepare --export --target-dir=/data/backups/mysql/ ``` If you're working with encrypted tables (ones that use transparent data encryption), you'll need extra security settings. You must include the keyring file that has the encryption keys: -```{.bash data-prompt="$"} -$ xtrabackup --prepare --export --target-dir=/tmp/table \ +```shell +xtrabackup --prepare --export --target-dir=/tmp/table \ --keyring-file-data=/var/lib/mysql-keyring/keyring ``` @@ -82,15 +82,15 @@ The following is the detailed process: 1. Use the schema and create an empty table copy in the new location on your target server (which must be running Percona Server for MySQL with XtraDB or MySQL 8.0). - ```{.bash data-prompt="$"} - $ mysql -uroot < ./schema_dumps/test/create_database_test.sql; - $ mysql -uroot < ./schema_dumps/test/export_test.sql; + ```shell + mysql -uroot < ./schema_dumps/test/create_database_test.sql; + mysql -uroot < ./schema_dumps/test/export_test.sql; ``` 2. Run this SQL command to disconnect the new table from its default tablespace. This command prepares it to receive the imported data: - ```{.bash data-prompt="mysql>"} - mysql> ALTER TABLE test.export_test DISCARD TABLESPACE; + ```sql + ALTER TABLE test.export_test DISCARD TABLESPACE; ``` If you see an error like “ERROR 1809 (HY000): Table ‘test/export_test’ in the system tablespace, " the `innodb_file_per_table` setting is disabled on your target server. Enable this in your server setup, then try the steps again. @@ -99,8 +99,8 @@ The following is the detailed process: 4. Run this SQL command to attach the restored tablespace to the destination table, finishing the data restore: - ```{.bash data-prompt="mysql>"} - mysql> ALTER TABLE test.export_test IMPORT TABLESPACE; + ```sql + ALTER TABLE test.export_test IMPORT TABLESPACE; ``` After these steps are finished successfully, your table restore is complete and the data is ready to use. You can run a `SELECT` query on the newly imported table to check that the imported data is correct. diff --git a/docs/set-up-replication.md b/docs/set-up-replication.md index f9ce479f..7925efe4 100644 --- a/docs/set-up-replication.md +++ b/docs/set-up-replication.md @@ -52,8 +52,8 @@ We use this backup tool. Install Percona XtraBackup on both computers for conven At the `Source`, issue the following to a shell: -```{.bash data-prompt="$"} -$ xtrabackup --backup --user=yourDBuser --password=MaGiCdB1 --target-dir=/path/to/backupdir +```shell +xtrabackup --backup --user=yourDBuser --password=MaGiCdB1 --target-dir=/path/to/backupdir ``` After this is finished you should get: @@ -74,8 +74,8 @@ and do a hot backup of all your data in it In order for snapshot to be consistent, prepare the data on the source: -```{.bash data-prompt="$"} -$ xtrabackup --prepare --target-dir=/path/to/backupdir +```shell +xtrabackup --prepare --target-dir=/path/to/backupdir ``` Select the path where your snapshot has been taken. @@ -93,7 +93,7 @@ you can set it up in `.mylogin.cnf` as follows: mysql_config_editor set --login-path=client --host=localhost --user=root --password ``` -For more information, see [MySQL Configuration Utility]. +For more information, see [MySQL Configuration Utility :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-config-editor.html). This statement provides root access to MySQL. @@ -103,8 +103,8 @@ On the Source, use rsync or scp to copy the data from the Source to the Replica. If you are syncing the data directly to replica’s data directory, we recommend that you stop the `mysqld` there. -```{.bash data-prompt="$"} -$ rsync -avpP -e ssh /path/to/backupdir Replica:/path/to/mysql/ +```shell +rsync -avpP -e ssh /path/to/backupdir Replica:/path/to/mysql/ ``` After data is copied, you can back up the original or previously @@ -116,21 +116,21 @@ installed *MySQL* datadir. Run the following commands on the Replica: -```{.bash data-prompt="$"} -$ mv /path/to/mysql/datadir /path/to/mysql/datadir_bak +```shell +mv /path/to/mysql/datadir /path/to/mysql/datadir_bak ``` and move the snapshot from the `Source` in its place: -```{.bash data-prompt="$"} -$ xtrabackup --move-back --target-dir=/path/to/mysql/backupdir +```shell +xtrabackup --move-back --target-dir=/path/to/mysql/backupdir ``` After you copy data over, make sure the Replica *MySQL* has the proper permissions to access them. -```{.bash data-prompt="$"} -$ chown mysql:mysql /path/to/mysql/datadir +```shell +chown mysql:mysql /path/to/mysql/datadir ``` If the ibdata and iblog files are located in directories outside the @@ -141,20 +141,20 @@ been applied. On the source, create a user specifically for replication tasks. Use the following command to define the user and set a secure password: -```{.bash data-prompt="mysql>"} -mysql> CREATE USER 'repl'@'$replicaip' IDENTIFIED BY '$replicapass'; +```sql +CREATE USER 'repl'@'$replicaip' IDENTIFIED BY '$replicapass'; ``` Grant the replication privileges to the newly created user to allow the replica to connect to the source server: -```{.bash data-prompt="mysql>"} -mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'$replicaip'; +```sql +GRANT REPLICATION SLAVE ON *.* TO 'repl'@'$replicaip'; ``` Apply the changes: -```{.bash data-prompt="mysql>"} -mysql> FLUSH PRIVILEGES; +```sql +FLUSH PRIVILEGES; ``` Also make sure that firewall rules are correct and that the `Replica` can @@ -162,22 +162,22 @@ connect to the `Source`. Run the following command on the Replica to test that you can run the mysql client on `Replica`, connect to the `Source`, and authenticate. -```{.bash data-prompt="mysql>"} -mysql> mysql --host=Source --user=repl --password=$replicapass +```sql +mysql --host=Source --user=repl --password=$replicapass ``` Verify the privileges. -```{.bash data-prompt="mysql>"} -mysql> SHOW GRANTS; +```sql +SHOW GRANTS; ``` ## 4. Configure the Replica’s MySQL server Copy the `my.cnf` file from the `Source` to the `Replica`: -```{.bash data-prompt="$"} -$ scp user@Source:/etc/mysql/my.cnf /etc/mysql/my.cnf +```shell +scp user@Source:/etc/mysql/my.cnf /etc/mysql/my.cnf ``` and change the following options in /etc/mysql/my.cnf: @@ -197,8 +197,8 @@ and updated in `/etc/mysql/debian.cnf`. On the `Replica`, review the content of the `xtrabackup_binlog_info` file: -```{.bash data-prompt="$"} -$ cat /var/lib/mysql/xtrabackup_binlog_info +```shell +cat /var/lib/mysql/xtrabackup_binlog_info ``` The results should resemble the following: @@ -262,8 +262,8 @@ we will add a `NewReplica` to the plot. At the `Replica`, do a full backup: -```{.bash data-prompt="$"} -$ xtrabackup --user=yourDBuser --password=MaGiCiGaM \ +```shell +xtrabackup --user=yourDBuser --password=MaGiCiGaM \ --backup --slave-info --target-dir=/path/to/backupdir ``` @@ -272,8 +272,8 @@ called `xtrabackup_slave_info`. Apply the logs: -```{.bash data-prompt="$"} -$ xtrabackup --prepare --use-memory=2G --target-dir=/path/to/backupdir/ +```shell +xtrabackup --prepare --use-memory=2G --target-dir=/path/to/backupdir/ ``` !!! note @@ -300,8 +300,8 @@ the Source: On the `NewReplica`, copy the configuration file from the `Replica`: -```{.bash data-prompt="$"} -$ scp user@Replica:/etc/mysql/my.cnf /etc/mysql/my.cnf +```shell +scp user@Replica:/etc/mysql/my.cnf /etc/mysql/my.cnf ``` Make sure you change the server-id variable in `/etc/mysql/my.cnf` to 3 and @@ -340,4 +340,3 @@ server is replicating the `Source`. [How to create a new (or repair a broken) GTID based replica](create-gtid-replica.md) -[MySQL Configuration Utility]: https://dev.mysql.com/doc/refman/{{vers}}/en/mysql-config-editor.html \ No newline at end of file diff --git a/docs/take-streaming-backup.md b/docs/take-streaming-backup.md index 605f6ee0..171b03dc 100644 --- a/docs/take-streaming-backup.md +++ b/docs/take-streaming-backup.md @@ -10,8 +10,8 @@ be automatically encrypted. To use the streaming feature, run the `--stream` option. -```{.bash data-prompt="$"} -$ xtrabackup --stream +```shell +xtrabackup --stream ``` xtrabackup uses xbstream to stream all of the data files to `STDOUT`, in a @@ -26,24 +26,24 @@ The Zstandard (ZSTD) is a fast lossless compression algorithm that targets real- To compress files using the `ZSTD` compression algorithm, use the `--compress` option: -```{.bash data-prompt="$"} -$ xtrabackup --backup --compress --target-dir=/data/backup +```shell +xtrabackup --backup --compress --target-dir=/data/backup ``` The resulting files have the `\*.zst` format. You can specify `ZSTD` compression level with the [`--compress-zstd-level(=#)`](xtrabackup-option-reference.md#compress-zstd-level) option. The default value is `1`. -```{.bash data-prompt="$"} -$ xtrabackup –backup –compress –compress-zstd-level=1 –target-dir=/data/backup +```shell +xtrabackup –backup –compress –compress-zstd-level=1 –target-dir=/data/backup ``` ## lz4 To compress files using the `lz4` compression algorithm, set the `--compress` option to `lz4`: -```{.bash data-prompt="$"} -$ xtrabackup --backup --compress=lz4 --target-dir=/data/backup +```shell +xtrabackup --backup --compress=lz4 --target-dir=/data/backup ``` The resulting files have the `\*.lz4` format. @@ -61,7 +61,7 @@ In case backups were both compressed and encrypted, they must be decrypted befor | Send the backup compressed directly to another host and unpack it | `xtrabackup --backup --compress --stream | ssh user@otherhost "xbstream -x"`| | Send the backup to another server using `netcat` | On the destination host:
`nc -l 9999 | cat - > /data/backups/backup.xbstream`

On the source host:
`xtrabackup --backup --stream | nc desthost 9999` | | Send the backup to another server using a one-liner | `ssh user@desthost “( nc -l 9999 > /data/backups/backup.xbstream & )” && xtrabackup --backup --stream | nc desthost 9999` | -| Throttle the throughput to 10MB/sec using the [pipe viewer](https://www.ivarch.com/programs/quickref/pv.shtml) tool | `xtrabackup --backup --stream | pv -q -L10m ssh user@desthost “cat - > /data/backups/backup.xbstream”` | +| Throttle the throughput to 10MB/sec using the [pipe viewer :octicons-link-external-16:](https://www.ivarch.com/programs/quickref/pv.shtml) tool | `xtrabackup --backup --stream | pv -q -L10m ssh user@desthost “cat - > /data/backups/backup.xbstream”` | | Checksum the backup during the streaming | On the destination host:
`nc -l 9999 | tee >(sha1sum > destination_checksum) > /data/backups/backup.xbstream`

On the source host:
`xtrabackup --backup --stream | tee >(sha1sum > source_checksum) | nc desthost 9999`

Compare the checksums on the source host:
`cat source_checksum 65e4f916a49c1f216e0887ce54cf59bf3934dbad`

Compare the checksums on the destination host:
`cat destination_checksum 65e4f916a49c1f216e0887ce54cf59bf3934dbad` | | Parallel compression with parallel copying backup | `xtrabackup --backup --compress --compress-threads=8 --stream --parallel=4 > backup.xbstream`| diff --git a/docs/toolkit-version-check.md b/docs/toolkit-version-check.md index 55133c18..0ce2fdd9 100644 --- a/docs/toolkit-version-check.md +++ b/docs/toolkit-version-check.md @@ -73,7 +73,7 @@ Although the *version checking* feature does not collect any personal informatio you might prefer to disable this feature, either one time or permanently. To disable it one time, use `--no-version-check` option when invoking the tool from a Percona product which supports it. Here is a simple example which shows -running [pt-diskstats](https://www.percona.com/doc/percona-toolkit/LATEST/pt-diskstats.html) tool +running [pt-diskstats :octicons-link-external-16:](https://www.percona.com/doc/percona-toolkit/LATEST/pt-diskstats.html) tool from the *Percona Toolkit* with *version checking* turned off: ```text @@ -83,10 +83,10 @@ pt-diskstats --no-version-check Disabling *version checking* permanently can be done by placing `no-version-check` option into the configuration file of a Percona product (see correspondent documentation for exact file name and syntax). For example, -in case of *Percona Toolkit* [this can be done](https://www.percona.com/doc/percona-toolkit/LATEST/configuration_files.html) +in case of *Percona Toolkit* [this can be done :octicons-link-external-16:](https://www.percona.com/doc/percona-toolkit/LATEST/configuration_files.html) in a global configuration file `/etc/percona-toolkit/percona-toolkit.conf`: -```{.bash data-prompt="#"} +```shell # Disable Version Check for all tools: no-version-check ``` diff --git a/docs/trademark-policy.md b/docs/trademark-policy.md index c9ff04e6..901ad840 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 +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 @@ -61,5 +61,5 @@ brevity on the second and subsequent uses, where such omission does not cause confusion. In the event of doubt as to any of the conditions or exceptions outlined in -this Trademark Policy, please contact [trademarks@percona.com](mailto:trademarks@percona.com) for assistance and +this Trademark Policy, please contact [trademarks@percona.com :octicons-link-external-16:](mailto:trademarks@percona.com) for assistance and we will do our very best to be helpful. diff --git a/docs/update-curl-utility.md b/docs/update-curl-utility.md index 509aa686..c44b64cd 100644 --- a/docs/update-curl-utility.md +++ b/docs/update-curl-utility.md @@ -20,7 +20,7 @@ reuse issues in `xbcloud`. The following versions are not supported. `libcurl versions ≥ 8.11.1 and < 8.12.0` -* Affected by double close of an eventfd file descriptor, [CVE-2025-0665](https://github.com/advisories/GHSA-cc57-hgv8-p56r) +* Affected by double close of an eventfd file descriptor, [CVE-2025-0665 :octicons-link-external-16:](https://github.com/advisories/GHSA-cc57-hgv8-p56r) * May cause unexpected terminations when `xbcloud` uses `libcurl` @@ -32,7 +32,7 @@ If the installed `libcurl` version is not supported, update it depending on the * Recommended - Upgrade to libcurl `8.12.0 or later` if these versions are compatible with your operating system. -* If upgrading to the latest version `≥ 8.12.0` is not possible, downgrade to a supported version earlier than 8.11.1 to avoid the vulnerability associated with [CVE-2025-0665](https://github.com/advisories/GHSA-cc57-hgv8-p56r). Ensure that the downgrade is compatible with other system dependencies. +* If upgrading to the latest version `≥ 8.12.0` is not possible, downgrade to a supported version earlier than 8.11.1 to avoid the vulnerability associated with [CVE-2025-0665 :octicons-link-external-16:](https://github.com/advisories/GHSA-cc57-hgv8-p56r). Ensure that the downgrade is compatible with other system dependencies. ### Check the installed libcurl version diff --git a/docs/verify-backup.md b/docs/verify-backup.md index 8d8df1de..2bc60d7f 100644 --- a/docs/verify-backup.md +++ b/docs/verify-backup.md @@ -1,7 +1,7 @@ # Verify backups with replication and pt-checksum One way to verify if the backup is consistent is by setting up the -replication and running [pt-table-checksum](http://www.percona.com/doc/percona-toolkit/pt-table-checksum.html). This can be used to verify any type of backups, but before setting up +replication and running [pt-table-checksum :octicons-link-external-16:](http://www.percona.com/doc/percona-toolkit/pt-table-checksum.html). This can be used to verify any type of backups, but before setting up replication, backup should be prepared and be able to run (this means that incremental backups should be merged to full backups, encrypted backups decrypted etc.). @@ -25,12 +25,12 @@ which produces different results on replicas that are inconsistent with the source. After you confirmed that replication has been set up successfully, you -can [install](http://www.percona.com/doc/percona-toolkit/installation.html) +can [install :octicons-link-external-16:](http://www.percona.com/doc/percona-toolkit/installation.html) or download *pt-table-checksum*. This example shows downloading the latest version of *pt-table-checksum*: -```{.bash data-prompt="$"} -$ wget percona.com/get/pt-table-checksum +```shell +wget percona.com/get/pt-table-checksum ``` !!! note @@ -44,8 +44,8 @@ Running the *pt-table-checksum* on the source will create `percona` database with the `checksums` table which will be replicated to the replicas as well. Example of the *pt-table-checksum* will look like this: -```{.bash data-prompt="$"} -$ ./pt-table-checksum +```shell +./pt-table-checksum ``` The results are similar to the following: @@ -76,14 +76,14 @@ difference and point to the table that does not match. Following example shows adding new user on the backed up replica in order to simulate the inconsistent backup: -```{.bash data-prompt="mysql>"} -mysql> grant usage on exampledb.* to exampledb@localhost identified by 'thisisnewpassword'; +```sql +grant usage on exampledb.* to exampledb@localhost identified by 'thisisnewpassword'; ``` If we run the *pt-table-checksum* now difference should be spotted -```{.bash data-prompt="$"} -$ ./pt-table-checksum +```shell +./pt-table-checksum ``` The results are similar to the following: @@ -110,4 +110,4 @@ This output shows that source and the replica aren’t in consistent state and that the difference is in the `mysql.user` table. More information on different options that pt-table-checksum provides can -be found in the *pt-table-checksum* [documentation](https://docs.percona.com/percona-toolkit/pt-table-checksum.html). +be found in the *pt-table-checksum* [documentation :octicons-link-external-16:](https://docs.percona.com/percona-toolkit/pt-table-checksum.html). diff --git a/docs/work-with-apparmor.md b/docs/work-with-apparmor.md index 37a868fd..1d2f5796 100644 --- a/docs/work-with-apparmor.md +++ b/docs/work-with-apparmor.md @@ -4,7 +4,7 @@ The Linux Security Module implements mandatory access controls (MAC) with AppArm Percona XtraBackup does not have a profile and is not confined by AppArmor. -For a list of common AppArmor commands, see [Percona Server for MySQL - AppArmor]. +For a list of common AppArmor commands, see [Percona Server for MySQL - AppArmor :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/apparmor.html). ## Develop a profile @@ -41,18 +41,16 @@ The following profile sections should be updated with your system information, s Move the updated file: -```{.bash data-prompt="$"} -$ sudo mv usr.sbin.xtrabackup /etc/apparmor.d/ +```shell +sudo mv usr.sbin.xtrabackup /etc/apparmor.d/ ``` Install the profile with the following command: -```{.bash data-prompt="$"} -$ sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.sbin.xtrabackup +```shell +sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.sbin.xtrabackup ``` Run the backup as usual. No additional AppArmor-related actions are required to restore a backup. - -[Percona Server for MySQL - AppArmor]: https://docs.percona.com/percona-server/{{vers}}/apparmor.html \ No newline at end of file diff --git a/docs/work-with-selinux.md b/docs/work-with-selinux.md index 5958fedb..b389513b 100644 --- a/docs/work-with-selinux.md +++ b/docs/work-with-selinux.md @@ -4,8 +4,8 @@ Percona XtraBackup is installed as an unconfined process running in an undefined You find the current state of the Percona XtraBackup file with the following command: -```{.bash data-prompt="$"} -$ ls -Z /usr/bin | grep xtrabackup +```shell +ls -Z /usr/bin | grep xtrabackup ``` ??? example "Expected output" @@ -46,8 +46,8 @@ The first option opens the entire system to read and write. Select the second op To work with policies, you must install the SELinux tools. To find which package provides the `semanage` command and install the package. The following is an example on CentOS 7. -```{.bash data-prompt="$"} -$ yum provides *bin/semanage +```shell +yum provides *bin/semanage ``` The result should list the packages. @@ -60,14 +60,14 @@ The result should list the packages. ``` To install missing packages, run the following: -```{.bash data-prompt="$"} -$ sudo yum install -y policycoreutils-python +```shell +sudo yum install -y policycoreutils-python ``` The following is an example on CentOS 8: -```{.bash data-prompt="$"} -$ yum provides *bin/semanage +```shell +yum provides *bin/semanage ``` The result should list the missing packages. @@ -79,8 +79,8 @@ The result should list the missing packages. ``` Run the following to install the missing packages: -```{.bash data-prompt="$"} -$ sudo yum install -y policycoreutils-python-utils +```shell +sudo yum install -y policycoreutils-python-utils ``` ## Create a policy @@ -113,26 +113,26 @@ Download the `xtrabackup.te` file from the following location: Compile the policy module: -```{.bash data-prompt="$"} -$ make -f /usr/share/selinux/devel/Makefile xtrabackup.pp +```shell +make -f /usr/share/selinux/devel/Makefile xtrabackup.pp ``` Install the module: -```{.bash data-prompt="$"} -$ semodule -i xtrabackup.pp +```shell +semodule -i xtrabackup.pp ``` Tag the PXB binaries with the proper SELinux tags, such as `xtrabackup_exec_t`. -```{.bash data-prompt="$"} -$ restorecon -v /usr/bin/* +```shell +restorecon -v /usr/bin/* ``` If you store your backups at `/backups`, restore the tag in that location: -```{.bash data-prompt="$"} -$ restorecon -v /backups +```shell +restorecon -v /backups ``` !!! note diff --git a/docs/working-with-binary-logs.md b/docs/working-with-binary-logs.md index a2da2d43..891382aa 100644 --- a/docs/working-with-binary-logs.md +++ b/docs/working-with-binary-logs.md @@ -23,8 +23,6 @@ Find a more detailed procedure in the [Point-in-time recovery](point-in-time-rec ## Set up a new replication replica -To set up a new replica, you should prepare the backup, and restore it to the data directory of your new replication replica. In the [CHANGE_REPLICATION_SOURCE_TO with the appropriate options] command, use the binary log filename and position shown in the `xtrabackup_binlog_info` file to start replication. +To set up a new replica, you should prepare the backup, and restore it to the data directory of your new replication replica. In the [CHANGE_REPLICATION_SOURCE_TO with the appropriate options :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/change-replication-source-to.html) command, use the binary log filename and position shown in the `xtrabackup_binlog_info` file to start replication. A more detailed procedure is found in [How to setup a replica for replication in 6 simple steps with Percona XtraBackup](set-up-replication.md). - -[CHANGE_REPLICATION_SOURCE_TO with the appropriate options]: https://dev.mysql.com/doc/refman/{{vers}}/en/change-replication-source-to.html \ No newline at end of file diff --git a/docs/xbcloud-azure.md b/docs/xbcloud-azure.md index 2b2c61db..8c0942a9 100644 --- a/docs/xbcloud-azure.md +++ b/docs/xbcloud-azure.md @@ -14,7 +14,7 @@ The following are the options, environment variables, and descriptions for uploa | --azure-endpoint=name | AZURE_ENDPOINT | The endpoint allows clients to securely access data | | --azure-tier-class=name | AZURE_STORAGE_CLASS | Cloud tier can decrease the local storage required while maintaining the performance. When enabled, this feature has the following categories:

Hot - Frequently accessed or modified data

Cool - Infrequently accessed or modified data

Archive - Rarely accessed or modified data | -Test your Azure applications with the [Azurite open-source emulator](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio). For testing purposes, the xbcloud binary adds the `--azure-development-storage` option that uses the default `access_key` and `storage account` of azurite and `testcontainer` for the container. You can overwrite these options, if needed. +Test your Azure applications with the [Azurite open-source emulator :octicons-link-external-16:](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio). For testing purposes, the xbcloud binary adds the `--azure-development-storage` option that uses the default `access_key` and `storage account` of azurite and `testcontainer` for the container. You can overwrite these options, if needed. ## Usage @@ -26,27 +26,27 @@ max-retries, and others, can be used. For more information, see the An example of an xbcloud backup. -```{.bash data-prompt="$"} -$ xtrabackup --backup --stream=xbstream | +```shell +xtrabackup --backup --stream=xbstream | xbcloud put backup_name --azure-storage-account=pxbtesting --azure-access-key=$AZURE_KEY --azure-container-name=test --storage=azure ``` An example of restoring a backup from xbcloud. -```{.bash data-prompt="$"} -$ xbcloud get backup_name --azure-storage-account=pxbtesting +```shell +xbcloud get backup_name --azure-storage-account=pxbtesting --azure-access-key=$AZURE_KEY --azure-container-name=test --storage=azure --parallel=10 2>download.log | xbstream -x -C restore ``` An example of deleting a backup from xbcloud. -```{.bash data-prompt="$"} -$ xbcloud delete backup_name --azure-storage-account=pxbtesting +```shell +xbcloud delete backup_name --azure-storage-account=pxbtesting --azure-access-key=$AZURE_KEY --azure-container-name=test --storage=azure ``` An example of using a shortcut restore. -```{.bash data-prompt="$"} -$ xbcloud get azure://operator-testing/bak22 ... +```shell +xbcloud get azure://operator-testing/bak22 ... ``` diff --git a/docs/xbcloud-binary-fifo-datasink.md b/docs/xbcloud-binary-fifo-datasink.md index 1442d543..db4ab9c3 100644 --- a/docs/xbcloud-binary-fifo-datasink.md +++ b/docs/xbcloud-binary-fifo-datasink.md @@ -18,19 +18,19 @@ To use FIFO data sink, you can either run two commands in separate terminal sess For example, run the following commands in separate terminal sessions: -```{.bash data-prompt="$"} -$ xtrabackup --backup --stream --fifo-streams=2 --fifo-dir=/tmp/fifo +```shell +xtrabackup --backup --stream --fifo-streams=2 --fifo-dir=/tmp/fifo ``` -```{.bash data-prompt="$"} -$ xbcloud put --fifo-streams=2 --fifo-dir=/tmp/fifo full +```shell +xbcloud put --fifo-streams=2 --fifo-dir=/tmp/fifo full ``` Run xtrabackup in the background with the following commands: -```{.bash data-prompt="$"} -$ xtrabackup --backup --stream --fifo-streams=2 --fifo-dir=/tmp/fifo & -$ xbcloud put --fifo-streams=2 --fifo-dir=/tmp/fifo full +```shell +xtrabackup --backup --stream --fifo-streams=2 --fifo-dir=/tmp/fifo & +xbcloud put --fifo-streams=2 --fifo-dir=/tmp/fifo full ``` ## Stream to an object storage diff --git a/docs/xbcloud-env.md b/docs/xbcloud-env.md index 834b9c3f..2083b017 100644 --- a/docs/xbcloud-env.md +++ b/docs/xbcloud-env.md @@ -7,7 +7,7 @@ Environment variable files (`.env`) are a common way to manage configuration set Create a `.env` file in your project directory or a secure location: ### S3 example -```{.bash data-prompt="$"} +```shell # Example .env file for S3 AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY @@ -16,7 +16,7 @@ AWS_ENDPOINT=https://s3.us-west-2.amazonaws.com ``` ### Swift example -```{.bash data-prompt="$"} +```shell # Example .env file for Swift OS_AUTH_URL=http://192.168.1.100:5000/v3 OS_USERNAME=admin @@ -26,7 +26,7 @@ OS_USER_DOMAIN=default ``` ### Azure example -```{.bash data-prompt="$"} +```shell # Example .env file for Azure AZURE_STORAGE_ACCOUNT=mystorageaccount AZURE_CONTAINER_NAME=backups @@ -41,7 +41,7 @@ Environment variables from `.env` files are not automatically loaded by the shel The `source` command (or its shorthand `.`) reads and executes commands from a file in the current shell environment. This makes all variables from the `.env` file available to subsequent commands in the same shell session. -```{.bash data-prompt="$"} +```shell # Load the environment variables source .env # or @@ -57,7 +57,7 @@ The `env` command runs another program with a modified environment. Combined wit You can run xbcloud with variables loaded from a .env file in a single command: -```{.bash data-prompt="$"} +```shell # Run xbcloud with environment variables from file env $(cat .env | xargs) xtrabackup --backup --stream=xbstream | xbcloud put s3://my-bucket/backup-$(date +%Y%m%d) ``` @@ -76,7 +76,7 @@ This method creates a shell script that loads environment variables and runs the Create a script that loads the environment variables: -```{.bash data-prompt="$"} +```shell #!/bin/bash # load-env.sh @@ -90,7 +90,7 @@ xtrabackup --backup --stream=xbstream | \ ``` Make it executable and run: -```{.bash data-prompt="$"} +```shell chmod +x load-env.sh ./load-env.sh ``` @@ -98,17 +98,17 @@ chmod +x load-env.sh ## Security best practices * File permissions: Set restrictive permissions on your `.env` file: - ```{.bash data-prompt="$"} - $ chmod 600 .env # Only owner can read/write + ```shell + chmod 600 .env # Only owner can read/write ``` * Gitignore: Add `.env` to your `.gitignore` file to prevent committing sensitive data: - ```{.bash data-prompt="$"} + ```shell echo ".env" >> .gitignore ``` * Template file: Create a `.env.example` file with placeholder values: - ```{.bash data-prompt="$"} + ```shell # .env.example AWS_ACCESS_KEY_ID=your-access-key-here AWS_SECRET_ACCESS_KEY=your-secret-key-here @@ -116,7 +116,7 @@ chmod +x load-env.sh ``` * Location: Store `.env` files in a secure location, not in your project root if possible: - ```{.bash data-prompt="$"} + ```shell # Store in a secure directory /etc/xtrabackup/.env /home/backup/.env @@ -126,7 +126,7 @@ chmod +x load-env.sh Here's a complete example of using a `.env` file with xbcloud. This example demonstrates the full workflow from creating the environment file to running a backup: -```{.bash data-prompt="$"} +```shell # 1. Create the .env file cat > /secure/path/.env << EOF AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE @@ -161,13 +161,13 @@ This example shows the complete process: ## Troubleshooting .env files * Check if variables are loaded: - ```{.bash data-prompt="$"} + ```shell source .env echo $AWS_ACCESS_KEY_ID # Should show your access key ``` * Verify file format: Ensure no spaces around the `=` sign: - ```{.bash data-prompt="$"} + ```shell # Correct AWS_ACCESS_KEY_ID=value @@ -176,12 +176,12 @@ This example shows the complete process: ``` * Handle special characters: Quote values with special characters: - ```{.bash data-prompt="$"} + ```shell OS_PASSWORD="my-password-with-special-chars!" ``` * Comments: Use `#` for comments in `.env` files: - ```{.bash data-prompt="$"} + ```shell # This is a comment AWS_ACCESS_KEY_ID=your-key-here ``` @@ -190,7 +190,7 @@ This example shows the complete process: For automated backups, you can create a wrapper script: -```{.bash data-prompt="$"} +```shell #!/bin/bash # backup-script.sh diff --git a/docs/xbcloud-gcs.md b/docs/xbcloud-gcs.md index f8ebbb45..b3c89bb4 100644 --- a/docs/xbcloud-gcs.md +++ b/docs/xbcloud-gcs.md @@ -9,10 +9,10 @@ compatible with Amazon S3. !!! admonition "See also" - [Cloud Storage Interoperability](https://cloud.google.com/storage/docs/interoperability) + [Cloud Storage Interoperability :octicons-link-external-16:](https://cloud.google.com/storage/docs/interoperability) -```{.bash data-prompt="$"} -$ xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ +```shell +xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ xbcloud put --storage=google \ --google-endpoint=`storage.googleapis.com` \ --google-access-key='YOUR-ACCESSKEYID' \ @@ -50,6 +50,6 @@ The following options are available when using Google Cloud Storage: !!! admonition "See also" [Google storage classes - the default Google storage class depends on - the storage class of the bucket](https://cloud.google.com/storage/docs/changing-default-storage-class) + the storage class of the bucket :octicons-link-external-16:](https://cloud.google.com/storage/docs/changing-default-storage-class) diff --git a/docs/xbcloud-iam-profile.md b/docs/xbcloud-iam-profile.md index b93898b1..a5772211 100644 --- a/docs/xbcloud-iam-profile.md +++ b/docs/xbcloud-iam-profile.md @@ -11,7 +11,7 @@ A role defines "what can I do." A role provides a method to define a collection The IAM instance profile is the "who" for an EC2 instance and assumes the IAM role, which has permissions. The instance profile has the same name as the IAM role. -An IAM instance profile does not need the `--s3-secret-key` nor the `--s3-access-key` if they are running `xbcloud` from an Amazon EC2 instance. To configure or attach an instance metadata to an EC2 instance, see [How can I grant my Amazon EC2 instance access to an Amazon S3 bucket](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/). +An IAM instance profile does not need the `--s3-secret-key` nor the `--s3-access-key` if they are running `xbcloud` from an Amazon EC2 instance. To configure or attach an instance metadata to an EC2 instance, see [How can I grant my Amazon EC2 instance access to an Amazon S3 bucket :octicons-link-external-16:](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/). An example of the command: diff --git a/docs/xbcloud-minio.md b/docs/xbcloud-minio.md index f638d94b..e84d7ae6 100644 --- a/docs/xbcloud-minio.md +++ b/docs/xbcloud-minio.md @@ -2,8 +2,8 @@ ## Create a full backup with MinIO -```{.bash data-prompt="$"} -$ xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ +```shell +xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ xbcloud put --storage=s3 \ --s3-endpoint='play.minio.io:9000' \ --s3-access-key='YOUR-ACCESSKEYID' \ diff --git a/docs/xbcloud-options.md b/docs/xbcloud-options.md index 4ed35655..93ac03ce 100644 --- a/docs/xbcloud-options.md +++ b/docs/xbcloud-options.md @@ -28,7 +28,7 @@ The name of the Azure container Usage: `--azure-development-storage=name` -If you run the [Azurite emulator](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio,blob-storage), use this option, and it works with the default credentials provided by Azurite. You can overwrite these default credentials with other options. +If you run the [Azurite emulator :octicons-link-external-16:](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio,blob-storage), use this option, and it works with the default credentials provided by Azurite. You can overwrite these default credentials with other options. ## azure-endpoint @@ -295,7 +295,7 @@ Turns on the cURL tracing. ## Swift authentication options -The Swift specification describes several [authentication options](http://docs.openstack.org/developer/swift/overview_auth.html). The *xbcloud* tool can +The Swift specification describes several [authentication options :octicons-link-external-16:](http://docs.openstack.org/developer/swift/overview_auth.html). The *xbcloud* tool can authenticate against keystone with API version 2 and 3. ## swift-auth-version diff --git a/docs/xbcloud-s3.md b/docs/xbcloud-s3.md index 1ae2ca01..d1c6d2fe 100644 --- a/docs/xbcloud-s3.md +++ b/docs/xbcloud-s3.md @@ -2,8 +2,8 @@ ## Create a full backup with Amazon S3 -```{.bash data-prompt="$"} -$ xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ +```shell +xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ xbcloud put --storage=s3 \ --s3-endpoint='s3.amazonaws.com' \ --s3-access-key='YOUR-ACCESSKEYID' \ @@ -23,7 +23,7 @@ The following options are available when using Amazon S3: | –s3-region | Use to specify the AWS region. The default value is **us-east-1** | | –s3-api-version = | Select the signing algorithm. The default value is AUTO. In this case, xbcloud will probe. | | –s3-bucket-lookup = | Specify whether to use bucket.endpoint.com or endpoint.com/bucket*style requests. The default value is AUTO. In this case, xbcloud will probe. | | -| –s3-storage-class= | Specify the [S3 storage class](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html). The default storage class depends on the provider. The name options are the following:
  • STANDARD
  • STANDARD_IA
  • GLACIER
**NOTE** If you use the GLACIER storage class, the object must be [restored to S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html) before restoring the backup. Also supports using custom S3 implementations such as MinIO or CephRadosGW. | +| –s3-storage-class= | Specify the [S3 storage class :octicons-link-external-16:](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html). The default storage class depends on the provider. The name options are the following:
  • STANDARD
  • STANDARD_IA
  • GLACIER
**NOTE** If you use the GLACIER storage class, the object must be [restored to S3 :octicons-link-external-16:](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html) before restoring the backup. Also supports using custom S3 implementations such as MinIO or CephRadosGW. | ## Permissions setup @@ -80,8 +80,8 @@ automatically to corresponding parameters applicable to the selected storage. ## Restore with S3 -```{.bash data-prompt="$"} -$ xbcloud get s3://operator-testing/bak22 \ +```shell +xbcloud get s3://operator-testing/bak22 \ --s3-endpoint=https://storage.googleapis.com/ \ --parallel=10 2>download.log | xbstream -x -C restore --parallel=8 ``` diff --git a/docs/xbcloud-swift.md b/docs/xbcloud-swift.md index 447b5c5c..810fc83a 100644 --- a/docs/xbcloud-swift.md +++ b/docs/xbcloud-swift.md @@ -4,7 +4,7 @@ The following example shows how to make a full backup and upload it to Swift. -```{.bash data-prompt="$"} +```shell $ xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ xbcloud put --storage=swift \ --swift-container=test \ @@ -54,21 +54,21 @@ The following OpenStack environment variables are also recognized and mapped aut ## Restore with Swift -```{.bash data-prompt="$"} -$ xbcloud get [options] [] | xbstream -x +```shell +xbcloud get [options] [] | xbstream -x ``` The following example shows how to fetch and restore the backup from Swift: -```{.bash data-prompt="$"} -$ xbcloud get --storage=swift \ +```shell +xbcloud get --storage=swift \ --swift-container=test \ --swift-user=test:tester \ --swift-auth-url=http://192.168.8.80:8080/ \ --swift-key=testing \ full_backup | xbstream -xv -C /tmp/downloaded_full -$ xbcloud delete --storage=swift --swift-user=xtrabackup \ +xbcloud delete --storage=swift --swift-user=xtrabackup \ --swift-password=xtrabackup123! --swift-auth-version=3 \ --swift-auth-url=http://openstack.ci.percona.com:5000/ \ --swift-container=mybackup1 --swift-domain=Default @@ -119,7 +119,7 @@ Do not verify server's certificate ### Swift authentication options -The Swift specification describes several [authentication options](http://docs.openstack.org/developer/swift/overview_auth.html). The *xbcloud* tool can +The Swift specification describes several [authentication options :octicons-link-external-16:](http://docs.openstack.org/developer/swift/overview_auth.html). The *xbcloud* tool can authenticate against keystone with API version 2 and 3. ### --swift-auth-version() diff --git a/docs/xbcrypt-options.md b/docs/xbcrypt-options.md index 1eb28194..2bb33fb5 100644 --- a/docs/xbcrypt-options.md +++ b/docs/xbcrypt-options.md @@ -2,8 +2,8 @@ Usage: -```{.text .no-copy} -$ xbcrypt[OPTIONS] +```shell +xbcrypt[OPTIONS] ``` The `xbcrypt` binary has the following command line options: diff --git a/docs/xbstream-options.md b/docs/xbstream-options.md index 2422187d..3301bf39 100644 --- a/docs/xbstream-options.md +++ b/docs/xbstream-options.md @@ -1,8 +1,8 @@ # The xbstream command-line options -```{.text .no-copy} -$ xbstream -c [OPTIONS] -$ xbstream -x [OPTIONS] +```shell +xbstream -c [OPTIONS] +xbstream -x [OPTIONS] ``` This utility has a tar-like interface. diff --git a/docs/xtrabackup-option-reference.md b/docs/xtrabackup-option-reference.md index e243fb60..22cd1466 100644 --- a/docs/xtrabackup-option-reference.md +++ b/docs/xtrabackup-option-reference.md @@ -14,14 +14,14 @@ You invoke xtrabackup in one of the following modes: When you intend to run xtrabackup in any of these modes, use the following syntax: -```{.bash data-prompt="$"} -$ xtrabackup [--defaults-file=#] --backup|--prepare|--copy-back| [OPTIONS] +```shell +xtrabackup [--defaults-file=#] --backup|--prepare|--copy-back| [OPTIONS] ``` For example, the `--prepare` mode is applied as follows: -```{.bash data-prompt="$"} -$ xtrabackup --prepare --target-dir=/data/backup/mysql/ +```shell +xtrabackup --prepare --target-dir=/data/backup/mysql/ ``` For all modes, the default options are read from the xtrabackup and @@ -90,7 +90,7 @@ The number of attempts to acquire metadata locks. Usage: `--backup-locks` -This option controls if [Backup locks] are used instead of `FLUSH TABLES +This option controls if [Backup locks :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/backup-locks.html) are used instead of `FLUSH TABLES WITH READ LOCK` on the backup stage. The option has no effect when the server does not support backup locks. This option is enabled by default, disable with [`--no-backup-locks`](#no-backup-locks). @@ -285,13 +285,13 @@ The xtrabackup binary requests the server to start the buffer pool dump. This op beginning of a backup with the option reports that the dump has been completed. -```{.bash data-prompt="$"} -$ xtrabackup --backup --dump-innodb-buffer-pool --target-dir=/home/user/backup +```shell +xtrabackup --backup --dump-innodb-buffer-pool --target-dir=/home/user/backup ``` By default, this option is set to OFF. -If [`innodb_buffer_pool_dump_status`](https://dev.mysql.com/doc/refman/8.3/en/server-status-variables.html#statvar_Innodb_buffer_pool_dump_status) reports that there is a running dump of the buffer pool, xtrabackup waits for the dump to complete +If [`innodb_buffer_pool_dump_status` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.3/en/server-status-variables.html#statvar_Innodb_buffer_pool_dump_status) reports that there is a running dump of the buffer pool, xtrabackup waits for the dump to complete using the value of [`--dump-innodb-buffer-pool-timeout`](#dump-innodb-buffer-pool-timeout) The file `ib_buffer_pool` stores the tablespace ID and page ID @@ -306,7 +306,7 @@ pages to dump. This option is effective if `--dump-innodb-buffer-pool` option is set to ON. If this option contains a value, xtrabackup sets the MySQL -system variable [`innodb_buffer_pool_dump_pct`](https://dev.mysql.com/doc/refman/8.3/en/innodb-parameters.html#sysvar_innodb_buffer_pool_dump_pct). As soon as the buffer pool +system variable [`innodb_buffer_pool_dump_pct` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.3/en/innodb-parameters.html#sysvar_innodb_buffer_pool_dump_pct). As soon as the buffer pool dump completes or is stopped (see `--dump-innodb-buffer-pool-timeout`), the value of the MySQL system variable is restored. @@ -316,7 +316,7 @@ variable is restored. Usage: `--dump-innodb-buffer-pool-timeout` This option contains the number of seconds that xtrabackup should -monitor the value of [`innodb_buffer_pool_dump_status`](https://dev.mysql.com/doc/refman/8.4/en/server-status-variables.html#statvar_Innodb_buffer_pool_dump_status) to +monitor the value of [`innodb_buffer_pool_dump_status` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/8.4/en/server-status-variables.html#statvar_Innodb_buffer_pool_dump_status) to determine if the buffer pool dump has been completed. This option is used in combination with @@ -375,11 +375,11 @@ The option lets you enable or disable the [Smart memory estimation](smart-memory An example of how to enable the Smart memory estimation feature: -```{.bash data-prompt="$"} +```shell $ xtrabackup --backup --estimate-memory=ON --target-dir=/data/backups/ ``` -```{.bash data-prompt="$"} +```shell $ xtrabackup --prepare --use-free-memory-pct=50 --target-dir=/data/backups/ ``` @@ -415,7 +415,7 @@ terminates with an error. The default value is `0`, xtrabackup does not wait for queries to complete and starts `FLUSH TABLES WITH READ LOCK` -immediately. Where supported, xtrabackup automatically uses the [Backup locks] as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy +immediately. Where supported, xtrabackup automatically uses the [Backup locks :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/backup-locks.html) as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy non-InnoDB data to avoid blocking DML queries that modify the InnoDB tables. ### ftwrl-wait-threshold @@ -428,7 +428,7 @@ xtrabackup to detect long-running queries with a non-zero value of is not started until such long-running queries exist. This option has no effect if `--ftwrl-wait-timeout` is `0`. The default value -is `60` seconds. The xtrabackup binary automatically uses [Backup locks] as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy +is `60` seconds. The xtrabackup binary automatically uses [Backup locks :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/backup-locks.html) as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy non-InnoDB data to avoid blocking DML queries that modify InnoDB tables when backup locks are supported. ### ftwrl-wait-query-type @@ -440,7 +440,7 @@ Usage: `--ftwrl-wait-query-type=all|update`This option specifies which queries c Usage: `--galera-info` This option creates the `xtrabackup_galera_info` file, which contains the local node state at the backup time. This option should be used when -performing the backup of a Percona XtraDB Cluster. The option has no effect when [Backup locks] are used to create the backup. +performing the backup of a Percona XtraDB Cluster. The option has no effect when [Backup locks :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/backup-locks.html) are used to create the backup. ### generate-new-master-key @@ -582,7 +582,7 @@ To use this option xtrabackup user should have the `PROCESS` and `SUPER` privileges. Where supported, xtrabackup -automatically uses [Backup locks] as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy non-InnoDB data to avoid blocking DML queries that modify InnoDB tables. +automatically uses [Backup locks :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/backup-locks.html) as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy non-InnoDB data to avoid blocking DML queries that modify InnoDB tables. ### kill-long-query-type @@ -703,7 +703,7 @@ about the binary log position of the backup. This option shouldn’t be used if happening on non-InnoDB tables; this includes the system MyISAM tables in the mysql database. Otherwise, those operations could lead to an inconsistent backup. -Where supported, xtrabackup will automatically use [Backup locks] as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy +Where supported, xtrabackup will automatically use [Backup locks :octicons-link-external-16:](https://docs.percona.com/percona-server/{{vers}}/backup-locks.html) as a lightweight alternative to `FLUSH TABLES WITH READ LOCK` to copy non-InnoDB data to avoid blocking DML queries that modify InnoDB tables. If you consider using this option because your backups fail to acquire @@ -753,7 +753,7 @@ a random UUID; no client information is collected or stored. Usage: `--open-files-limit=#` -The maximum number of file descriptors to reserve with [setrlimit]( https://man7.org/linux/man-pages/man2/setrlimit.2.html)git . +The maximum number of file descriptors to reserve with [setrlimit :octicons-link-external-16:]( https://man7.org/linux/man-pages/man2/setrlimit.2.html)git . ### parallel @@ -883,7 +883,7 @@ running `FLUSH TABLES WITH READ LOCK` and waits to start the backup operation un If there are no open temporary tables, the backup takes place, otherwise the SQL thread is started and stopped until there are no open temporary tables. The backup fails if `Replica_open_temp_tables` does not become zero after [`--safe-slave-backup-timeout`](#safe-slave-backup-timeout ) seconds. The replication SQL thread is restarted when the backup is complete. -This option is implemented to deal with [replication and temporary tables](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-features-temptables.html) and isn’t necessary with row-based replication. +This option is implemented to deal with [replication and temporary tables :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/replication-features-temptables.html) and isn’t necessary with row-based replication. Using a safe-slave-backup option stops the SQL replica thread before copying the InnoDB files. @@ -923,10 +923,10 @@ Usage: `--slave-info` This option is useful when backing up a replication replica server. It prints the binary log position of the source server. It also writes the binary log -coordinates to the `xtrabackup_slave_info` file as a [`CHANGE REPLICATION SOURCE TO`](https://dev.mysql.com/doc/refman/{{vers}}/en/change-replication-source-to.html) +coordinates to the `xtrabackup_slave_info` file as a [`CHANGE REPLICATION SOURCE TO` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/change-replication-source-to.html) command. -A new replica for this source can be set up by starting a replica server on this backup and issuing a [`CHANGE REPLICATION SOURCE TO`](https://dev.mysql.com/doc/refman/{{vers}}/en/change-replication-source-to.html) command with the binary log +A new replica for this source can be set up by starting a replica server on this backup and issuing a [`CHANGE REPLICATION SOURCE TO` :octicons-link-external-16:](https://dev.mysql.com/doc/refman/{{vers}}/en/change-replication-source-to.html) command with the binary log position saved in the `xtrabackup_slave_info` file. ### socket @@ -1123,11 +1123,11 @@ This option works only if `--estimate-memory` option is enabled. If the `--estim An example of how to enable the Smart memory estimation feature: -```{.bash data-prompt="$"} +```shell $ xtrabackup --backup --estimate-memory=ON --target-dir=/data/backups/ ``` -```{.bash data-prompt="$"} +```shell $ xtrabackup --prepare --use-free-memory-pct=50 --target-dir=/data/backups/ ``` @@ -1155,6 +1155,3 @@ This option prints xtrabackup version and exits. Usage: `--xtrabackup-plugin-dir=DIRNAME` The absolute path to the directory that contains the `keyring` plugin. - -[replicating temporary tables]: https://dev.mysql.com/doc/refman/{{vers}}/en/replication-features-temptables.html -[Backup locks]: https://docs.percona.com/percona-server/{{vers}}/backup-locks.html diff --git a/docs/xtrabackup-version-numbers.md b/docs/xtrabackup-version-numbers.md index b1b560d3..9d0b723c 100644 --- a/docs/xtrabackup-version-numbers.md +++ b/docs/xtrabackup-version-numbers.md @@ -10,11 +10,11 @@ Any Percona XtraBackup 8.4 release can work with any Percona Server for MySQL 8. |---|---| | 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 XtraBackup {{release}} define the following information: -* Base version - the leftmost numbers indicate the [MySQL {{vers}}](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) version used as a base. An increase in base version resets the minor build version to 0. +* Base version - the leftmost numbers indicate the [MySQL {{vers}} :octicons-link-external-16:](https://dev.mysql.com/doc/relnotes/mysql/{{vers}}/en/) version used as a base. An increase in base version resets the minor build version to 0. * Minor build version - an internal number that denotes the version of the software. A build version increases by one each time the Percona XtraBackup is released. diff --git a/docs/yum-download-rpm.md b/docs/yum-download-rpm.md index bc308bde..afb2756f 100644 --- a/docs/yum-download-rpm.md +++ b/docs/yum-download-rpm.md @@ -1,6 +1,6 @@ # Install Percona XtraBackup {{vers}} using downloaded RPM packages -Download `RPM` packages of the desired series for your architecture from the [Percona Software Downloads](https://www.percona.com/downloads). If needed, [Percona Software Download instructions](download-instructions.md) are available. +Download `RPM` packages of the desired series for your architecture from the [Percona Software Downloads :octicons-link-external-16:](https://www.percona.com/downloads). If needed, [Percona Software Download instructions](download-instructions.md) are available. This method requires you to resolve all dependencies and install any missing packages. Always back up your data before making significant system changes. diff --git a/docs/yum-repo.md b/docs/yum-repo.md index a7a8297e..6f3b8f2b 100644 --- a/docs/yum-repo.md +++ b/docs/yum-repo.md @@ -1,11 +1,11 @@ # Use a YUM repository to install Percona XtraBackup Ready-to-use packages are available from the Percona XtraBackup software -repositories and the [download page](https://www.percona.com/downloads/). The Percona yum repository supports popular `RPM`-based operating systems, including the `Amazon Linux AMI`. +repositories and the [Percona Software Downloads :octicons-link-external-16:](https://www.percona.com/downloads). The Percona yum repository supports popular `RPM`-based operating systems, including the `Amazon Linux AMI`. -The easiest way to install the Percona Yum 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 easiest way to install the Percona Yum 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).