add percona xtrabckup
parent
97f4954df2
commit
fd75c942c6
71
mysql.md
71
mysql.md
|
@ -13,13 +13,15 @@
|
||||||
- [Выборка из таблицы](#выборка-из-таблицы)
|
- [Выборка из таблицы](#выборка-из-таблицы)
|
||||||
- [Репликация - mysqldump](#репликация---mysqldump)
|
- [Репликация - mysqldump](#репликация---mysqldump)
|
||||||
- [Пользователь для выполнения задач репликации](#пользователь-для-выполнения-задач-репликации)
|
- [Пользователь для выполнения задач репликации](#пользователь-для-выполнения-задач-репликации)
|
||||||
- [Настройка мастера для репликации](#настройка-мастера-для-репликации)
|
- [Настройка мастера для репликации mysqldump](#настройка-мастера-для-репликации-mysqldump)
|
||||||
- [Дамп БД](#дамп-бд)
|
- [Дамп БД средствами mysqldump](#дамп-бд-средствами-mysqldump)
|
||||||
- [Настройка слейва](#настройка-слейва)
|
- [Настройка слейва для репликации средствами mysqldump](#настройка-слейва-для-репликации-средствами-mysqldump)
|
||||||
- [Настройка репликации](#настройка-репликации)
|
- [Настройка репликации mysqldump](#настройка-репликации-mysqldump)
|
||||||
- [Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации](#запуск-воспроизведения-журнала-ретрансляции-и-проверка-статуса-репликации)
|
- [Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации mysqldump](#запуск-воспроизведения-журнала-ретрансляции-и-проверка-статуса-репликации-mysqldump)
|
||||||
- [Проверка репликации](#проверка-репликации)
|
- [Проверка репликации mysqldump](#проверка-репликации-mysqldump)
|
||||||
- [Репликация - Percona XtraBackup](#репликация---percona-xtrabackup)
|
- [Репликация - Percona XtraBackup](#репликация---percona-xtrabackup)
|
||||||
|
- [Установка Percona XtraBackup](#установка-percona-xtrabackup)
|
||||||
|
- [Настройка репликации xtrabackup](#настройка-репликации-xtrabackup)
|
||||||
|
|
||||||
## Установка сервера MySQL 8 в Debian 12
|
## Установка сервера MySQL 8 в Debian 12
|
||||||
|
|
||||||
|
@ -171,7 +173,7 @@ GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' WITH GRANT OPTION;
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
```
|
```
|
||||||
|
|
||||||
### Настройка мастера для репликации
|
### Настройка мастера для репликации mysqldump
|
||||||
|
|
||||||
В файл `/etc/mysql/my.cnf` (или в `/etc/mysql/mysql.conf.d/mysqld.cnf`, в зависимости от настроек) в секции `[mysqld]` необходимо добавить следующие параметры:
|
В файл `/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://habr.com/ru/articles/532216/>
|
||||||
- <https://www.k-max.name/linux/replikaciya-mysql-master-slave/>
|
- <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
|
systemctl restart mysql.service
|
||||||
```
|
```
|
||||||
|
|
||||||
### Настройка репликации
|
### Настройка репликации mysqldump
|
||||||
|
|
||||||
Необходимо указать слейву, какой сервер будет являться для него мастером, и откуда начинать реплицировать данные. Вместо `MASTER_LOG_FILE` и `MASTER_LOG_POS` необходимо подставить значения, полученные из `SHOW BINARY LOG STATUS;` на мастере. Эти параметры вместе называются координатами двоичного журнала.
|
Необходимо указать слейву, какой сервер будет являться для него мастером, и откуда начинать реплицировать данные. Вместо `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...`
|
В более ранних версиях используется команда - `CHANGE MASTER TO...`
|
||||||
|
|
||||||
### Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации
|
### Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации mysqldump
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
start replica;
|
start replica;
|
||||||
|
@ -355,7 +357,7 @@ Source_SSL_Verify_Server_Cert: No
|
||||||
`Seconds_Behind_Source` — отставание слейва от мастера, в секундах.
|
`Seconds_Behind_Source` — отставание слейва от мастера, в секундах.
|
||||||
`Last_IO_Error`, `Last_SQL_Error` — ошибки репликации, если они есть.
|
`Last_IO_Error`, `Last_SQL_Error` — ошибки репликации, если они есть.
|
||||||
|
|
||||||
### Проверка репликации
|
### Проверка репликации mysqldump
|
||||||
|
|
||||||
На мастере добавить данные и убедиться, что они появились на слейве
|
На мастере добавить данные и убедиться, что они появились на слейве
|
||||||
|
|
||||||
|
@ -400,6 +402,8 @@ mysql> select * from admin_table;
|
||||||
|
|
||||||
## Репликация - Percona XtraBackup
|
## Репликация - Percona XtraBackup
|
||||||
|
|
||||||
|
### Установка Percona XtraBackup
|
||||||
|
|
||||||
Установка согласно [документации](https://docs.percona.com/percona-xtrabackup/8.4/installation.html)
|
Установка согласно [документации](https://docs.percona.com/percona-xtrabackup/8.4/installation.html)
|
||||||
|
|
||||||
Стоит иметь ввиду, что версии MySQL и Percona XtraBackup должны совпадать, иначе создание резервной копии может завершиться ошибкой или невозможностью восстановления.
|
Стоит иметь ввиду, что версии 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
|
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
|
```shell
|
||||||
apt update
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue