Multi-source репликация MySQL5.7 — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
Строка 11: Строка 11:
  
  
 
+
Для настройки репликации с использованием GTID в MySQL в конфиге мастера достаточно прописать следующие значение
 +
gtid_mode                = ON
 +
enforce-gtid-consistency
 +
log_bin                  = mysql-bin
 +
log-slave-updates        = 0
 +
server_id                = 1
 +
replicate-do-db          = mybase
 +
sync_binlog              = 0
 +
gtid_mode=ON – собственно, включает GTID<br>
 +
log_bin=mysql-bin – ведение бинарного лога для мастера (с него читает слейв). Когда на сервере используются GTID, и если бинарный лог не включен, при перезапуске сервера после аварийного выключения, некоторые GTID могут быть потеряны, что приведет к сбою репликации. При обычном завершении работы набор идентификаторов GTID из бинарного лога сохраняется в таблице mysql.gtid_executed<br>
 +
enforce-gtid-consistency – обязательный параметр для GTID, который не даёт всё поломать<br>
 +
server_id=1 идентификатор мастер сервера, цифровое значение может быть отличным от единицы в данном примере
  
  

Версия 15:09, 7 марта 2022

Появилась нужда в настройке репликации MySQL, с нескольких master-серверов будем лить в один slave-сервер

Multi repl 1.jpg



В MySQL при использовании GTID есть две глобальные переменные, о которых необходимо знать:

gtid_executed – содержит набор всех транзакций из бинарного лога
gtid_purged   – содержит набор транзакций, которые были зафиксированы на сервере, но не содержащиеся в бинарном логе, gtid_purged является подмножеством gtid_executed


Для настройки репликации с использованием GTID в MySQL в конфиге мастера достаточно прописать следующие значение

gtid_mode                 = ON
enforce-gtid-consistency
log_bin                   = mysql-bin
log-slave-updates         = 0
server_id                 = 1
replicate-do-db           = mybase
sync_binlog               = 0

gtid_mode=ON – собственно, включает GTID
log_bin=mysql-bin – ведение бинарного лога для мастера (с него читает слейв). Когда на сервере используются GTID, и если бинарный лог не включен, при перезапуске сервера после аварийного выключения, некоторые GTID могут быть потеряны, что приведет к сбою репликации. При обычном завершении работы набор идентификаторов GTID из бинарного лога сохраняется в таблице mysql.gtid_executed
enforce-gtid-consistency – обязательный параметр для GTID, который не даёт всё поломать
server_id=1 идентификатор мастер сервера, цифровое значение может быть отличным от единицы в данном примере





https://habr.com/ru/post/276581/
https://www.k-max.name/linux/replikaciya-mysql-master-slave/
https://www.percona.com/blog/2013/10/02/mysql-5-7-multi-source-replication/
https://dev.mysql.com/doc/refman/5.7/en/replication-multi-source.html