master
Artem Dolgiy 2025-01-27 11:57:56 +03:00
parent a2c365cf90
commit 54f48d36cc
1 changed files with 39 additions and 30 deletions

View File

@ -11,11 +11,12 @@
- [Создание таблицы в базе данных](#создание-таблицы-в-базе-данных)
- [Добавление записей в таблицу](#добавление-записей-в-таблицу)
- [Выборка из таблицы](#выборка-из-таблицы)
- [Репликация - mysqldump](#репликация---mysqldump)
- [Репликация - общие настройки](#репликация---общие-настройки)
- [Пользователь для выполнения задач репликации](#пользователь-для-выполнения-задач-репликации)
- [Настройка мастера для репликации mysqldump](#настройка-мастера-для-репликации-mysqldump)
- [Настройка мастера для репликации](#настройка-мастера-для-репликации)
- [Настройка слейва для репликации](#настройка-слейва-для-репликации)
- [Репликация средствами mysqldump](#репликация-средствами-mysqldump)
- [Дамп БД средствами mysqldump](#дамп-бд-средствами-mysqldump)
- [Настройка слейва для репликации средствами mysqldump](#настройка-слейва-для-репликации-средствами-mysqldump)
- [Настройка репликации mysqldump](#настройка-репликации-mysqldump)
- [Запуск воспроизведения журнала ретрансляции, и проверка статуса репликации mysqldump](#запуск-воспроизведения-журнала-ретрансляции-и-проверка-статуса-репликации-mysqldump)
- [Проверка репликации mysqldump](#проверка-репликации-mysqldump)
@ -124,7 +125,9 @@ INSERT admin_table(name, surname, city) VALUES ('Artem', 'Dolgiy', 'Zelenograd')
SELECT * FROM admin_table;
```
## Репликация - mysqldump
## Репликация - общие настройки
Эти настройки выполняются вне зависимости от выбранного способа репликации
### Пользователь для выполнения задач репликации
@ -173,7 +176,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]` необходимо добавить следующие параметры:
@ -205,31 +208,7 @@ SHOW BINARY LOG STATUS;
- <https://habr.com/ru/articles/532216/>
- <https://www.k-max.name/linux/replikaciya-mysql-master-slave/>
### Дамп БД средствами mysqldump
Для того, чтобы начать репликацию данных, необходимо “подтянуть” слейв до состояния мастера. Для этого, нужно временно заблокировать сам мастер, чтобы сделать слепок актуальных данных.
```shell
FLUSH TABLES WITH READ LOCK;
```
Далее, с помощью mysqldump сделать экспорт данных из базы.
```shell
mysqldump -u root -p sape_test_db > sape_test_db.db
```
После этого, необходимо еще раз выполнить команду `SHOW BINARY LOG STATUS;`, и запомнить или записать значения File и Position. Это, так называемые координаты двоичного журнала. Именно от них далее будет указано стартовать слейву.
Теперь мастер можно разблокировать.
```shell
UNLOCK TABLES;
```
Мастер настроен, и готов реплицироваться на другие сервера.
### Настройка слейва для репликации средствами mysqldump
### Настройка слейва для репликации
В первую очередь на слейв необходимо загрузить дамп, полученный с мастера
@ -263,6 +242,32 @@ read_only = 1 # переводим слейв в режим “только ч
systemctl restart mysql.service
```
## Репликация средствами mysqldump
### Дамп БД средствами mysqldump
Для того, чтобы начать репликацию данных, необходимо “подтянуть” слейв до состояния мастера. Для этого, нужно временно заблокировать сам мастер, чтобы сделать слепок актуальных данных.
```shell
FLUSH TABLES WITH READ LOCK;
```
Далее, с помощью mysqldump сделать экспорт данных из базы.
```shell
mysqldump -u root -p sape_test_db > sape_test_db.db
```
После этого, необходимо еще раз выполнить команду `SHOW BINARY LOG STATUS;`, и запомнить или записать значения File и Position. Это, так называемые координаты двоичного журнала. Именно от них далее будет указано стартовать слейву.
Теперь мастер можно разблокировать.
```shell
UNLOCK TABLES;
```
Мастер настроен, и готов реплицироваться на другие сервера.
### Настройка репликации mysqldump
Необходимо указать слейву, какой сервер будет являться для него мастером, и откуда начинать реплицировать данные. Вместо `MASTER_LOG_FILE` и `MASTER_LOG_POS` необходимо подставить значения, полученные из `SHOW BINARY LOG STATUS;` на мастере. Эти параметры вместе называются координатами двоичного журнала.
@ -476,6 +481,10 @@ xtrabackup version 8.4.0-2 based on MySQL server 8.4.0 Linux (x86_64) (revision
### Настройка репликации xtrabackup
Аналогично
https://docs.percona.com/percona-xtrabackup/8.4/set-up-replication.html