Вызов нескольких мастеров | MySQL и MariaDB

У нас есть около 5 разных экземпляров MySQL, где мы собираем данные, но мы также создаем систему хранения, для которой нам нужно консолидировать все данные в одном экземпляре на большой машине. Но MySQL не обеспечивает репликацию с несколькими мастерами, поэтому есть ли у нас возможность консолидации? Я искал в Интернете и нашел какое-то решение, которое MariaDB Galera обеспечивает репликацию с несколькими мастерами, и хорошо, что оно полностью совместимо с файлами MySQL.

Можно ли сделать экземпляр MySQL ведущим, а экземпляр MariaDB — подчиненным? поэтому, если это в любом случае возможно, MariaDB будет по существу подчиненным нескольким мастерам MySQL.

Пожалуйста, предложите, может ли быть другой вариант, наиболее подходящий для этой ситуации.


person Vardan Gupta    schedule 18.12.2014    source источник
comment
Почему вы не хотите полностью перейти на MariaDB?   -  person vp_arth    schedule 18.12.2014


Ответы (2)


Да, возможно иметь сервер MySQL и ведомое устройство MariaDB. Кроме того, MariaDB допускает репликацию из нескольких источников, что в вашем случае должно быть полезно.

Вы можете иметь подчиненный экземпляр MariaDB и установить все 5 ваших экземпляров MySQL в качестве ведущих для этого экземпляра.

Эта ссылка поможет вам настроить репликацию из один мастер. Чтобы добавить больше мастеров, просто используйте команду «CHANGE MASTER TO» и используйте разные адреса мастеров.

Пример

Чтобы добавить двух мастеров, используйте

CHANGE MASTER "source_1" TO 
  MASTER_HOST='XXX.XXX.XXX.XX1',
  MASTER_USER='replication_user',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=564,
  MASTER_CONNECT_RETRY=10;

CHANGE MASTER "source_2" TO 
  MASTER_HOST='XXX.XXX.XXX.XX2',
  MASTER_USER='slave_user',
  MASTER_PASSWORD='password',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.000002',
  MASTER_LOG_POS=107,
  MASTER_CONNECT_RETRY=10;

Это должно создать экземпляр с несколькими источниками в MariaDB, который будет консолидировать данные из всех ваших источников.

Чтобы просмотреть все ваши источники, запустите команду SHOW ALL SLAVES STATUS из подчиненного экземпляра MariaDB.

person Naved Alam    schedule 18.12.2014

MariaDB 10 поддерживает репликацию с несколькими источниками, что означает, что у одного сервера MariaDB есть много мастеров, с которых он реплицируется.

Вы указываете, с каким основным соединением вы хотите работать, либо указав имя соединения в команде, либо задав default_master_connection для соединения, с которым вы хотите работать.

Имя подключения может содержать любые символы и должно быть менее 64 символов. Имена соединений сравниваются без учета регистра (регистронезависимы). Желательно, чтобы имя соединения было коротким, так как оно будет использоваться в качестве суффикса для журналов ретрансляции и индексных файлов основной информации.

Источник: https://mariadb.com/kb/en/mariadb/documentation/replication/standard-replication/multi-source-replication/

Руководство: https://mariadb.com/blog/high-availability-multi-source-replication-mariadb-100

person Tan Hong Tat    schedule 18.12.2014
comment
поэтому мой вопрос заключался в том, можно ли реплицировать ведомое устройство MariaDB из одного или нескольких экземпляров MySQL? Если да, то это решит мою проблему! - person Vardan Gupta; 18.12.2014