mod
parent
a2c365cf90
commit
54f48d36cc
69
mysql.md
69
mysql.md
|
@ -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
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue