add percona xtrabckup

master
Artem Dolgiy 2025-01-24 13:31:45 +03:00
parent 97f4954df2
commit fd75c942c6
1 changed files with 57 additions and 14 deletions

View File

@ -13,13 +13,15 @@
- [Выборка из таблицы](#выборка-из-таблицы)
- [Репликация - mysqldump](#репликация---mysqldump)
- [Пользователь для выполнения задач репликации](#пользователь-для-выполнения-задач-репликации)
- [Настройка мастера для репликации](#настройка-мастера-для-репликации)
- [Дамп БД](#дамп-бд)
- [Настройка слейва](#настройка-слейва)
- [Настройка репликации](#настройка-репликации)
- [Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации](#запуск-воспроизведения-журнала-ретрансляции-и-проверка-статуса-репликации)
- [Проверка репликации](#проверка-репликации)
- [Настройка мастера для репликации mysqldump](#настройка-мастера-для-репликации-mysqldump)
- [Дамп БД средствами mysqldump](#дамп-бд-средствами-mysqldump)
- [Настройка слейва для репликации средствами mysqldump](#настройка-слейва-для-репликации-средствами-mysqldump)
- [Настройка репликации mysqldump](#настройка-репликации-mysqldump)
- [Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации mysqldump](#запуск-воспроизведения-журнала-ретрансляции-и-проверка-статуса-репликации-mysqldump)
- [Проверка репликации mysqldump](#проверка-репликации-mysqldump)
- [Репликация - Percona XtraBackup](#репликация---percona-xtrabackup)
- [Установка Percona XtraBackup](#установка-percona-xtrabackup)
- [Настройка репликации xtrabackup](#настройка-репликации-xtrabackup)
## Установка сервера MySQL 8 в Debian 12
@ -171,7 +173,7 @@ GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
### Настройка мастера для репликации
### Настройка мастера для репликации mysqldump
В файл `/etc/mysql/my.cnf` (или в `/etc/mysql/mysql.conf.d/mysqld.cnf`, в зависимости от настроек) в секции `[mysqld]` необходимо добавить следующие параметры:
@ -203,7 +205,7 @@ SHOW BINARY LOG STATUS;
- <https://habr.com/ru/articles/532216/>
- <https://www.k-max.name/linux/replikaciya-mysql-master-slave/>
### Дамп БД
### Дамп БД средствами mysqldump
Для того, чтобы начать репликацию данных, необходимо “подтянуть” слейв до состояния мастера. Для этого, нужно временно заблокировать сам мастер, чтобы сделать слепок актуальных данных.
@ -227,7 +229,7 @@ UNLOCK TABLES;
Мастер настроен, и готов реплицироваться на другие сервера.
### Настройка слейва
### Настройка слейва для репликации средствами mysqldump
В первую очередь на слейв необходимо загрузить дамп, полученный с мастера
@ -261,7 +263,7 @@ read_only = 1 # переводим слейв в режим “только ч
systemctl restart mysql.service
```
### Настройка репликации
### Настройка репликации mysqldump
Необходимо указать слейву, какой сервер будет являться для него мастером, и откуда начинать реплицировать данные. Вместо `MASTER_LOG_FILE` и `MASTER_LOG_POS` необходимо подставить значения, полученные из `SHOW BINARY LOG STATUS;` на мастере. Эти параметры вместе называются координатами двоичного журнала.
@ -275,7 +277,7 @@ CHANGE REPLICATION SOURCE TO SOURCE_HOST='master', SOURCE_USER='repl_user', SOUR
В более ранних версиях используется команда - `CHANGE MASTER TO...`
### Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации
### Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации mysqldump
```shell
start replica;
@ -355,7 +357,7 @@ Source_SSL_Verify_Server_Cert: No
`Seconds_Behind_Source` — отставание слейва от мастера, в секундах.
`Last_IO_Error`, `Last_SQL_Error` — ошибки репликации, если они есть.
### Проверка репликации
### Проверка репликации mysqldump
На мастере добавить данные и убедиться, что они появились на слейве
@ -400,6 +402,8 @@ mysql> select * from admin_table;
## Репликация - Percona XtraBackup
### Установка Percona XtraBackup
Установка согласно [документации](https://docs.percona.com/percona-xtrabackup/8.4/installation.html)
Стоит иметь ввиду, что версии MySQL и Percona XtraBackup должны совпадать, иначе создание резервной копии может завершиться ошибкой или невозможностью восстановления.
@ -420,14 +424,53 @@ curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
apt install ./percona-release_latest.generic_all.deb
```
- после установки репозитория необходимо обновить индекс пакетов
общие репозитории percona будут прописаны после установки пакета
```shell
root@mysql-master:~# ls -l /etc/apt/sources.list.d/
total 16
-rw-r--r-- 1 root root 662 Jan 23 18:30 mysql.list
-rw-r--r-- 1 root root 294 Jan 23 18:34 percona-pmm2-client-release.list
-rw-r--r-- 1 root root 280 Jan 23 18:34 percona-prel-release.list
-rw-r--r-- 1 root root 290 Jan 23 18:34 percona-telemetry-release.list
```
- после установки общих репозиториев необходимо обновить индекс пакетов
```shell
apt update
```
- необходимо указать версию percona, которая будет
- далее выбирается конкретный релиз, который будет использоваться
```shell
percona-release enable pxb-84-lts
```
в результате выполнения команды будет добавлен репозиторий выбранного релиза
```shell
root@master:~# ls -l /etc/apt/sources.list.d/
total 20
-rw-r--r-- 1 root root 662 Jan 23 18:30 mysql.list
-rw-r--r-- 1 root root 294 Jan 23 18:34 percona-pmm2-client-release.list
-rw-r--r-- 1 root root 280 Jan 23 18:34 percona-prel-release.list
-rw-r--r-- 1 root root 292 Jan 24 13:20 percona-pxb-84-lts-release.list
-rw-r--r-- 1 root root 290 Jan 23 18:34 percona-telemetry-release.list
```
- установка Percona XtraBackup
```shell
apt update && apt install percona-xtrabackup-84
```
```shell
root@master:~# xtrabackup --version
xtrabackup version 8.4.0-2 based on MySQL server 8.4.0 Linux (x86_64) (revision id: d4373834)
```
### Настройка репликации xtrabackup