Можно ли использовать MaxDale(BinLog Server) от MariaDB в качестве сборщика журналов из разных кластеров mysql?
Я прочитал, что Maxscale (BinLog Server) из MariaDB можно использовать для передачи журналов бина из MySQL Cluster на один BinLog Server, однако я хотел знать, возможно ли собрать все журналы бинов из другого MySQL Cluster и сохранить их на один сервер BinLog и никакие подчиненные MySQL не будут читать с него. Если это возможно, как обрабатываются конфликты, такие как одно и то же имя базы данных в разных MySQL Cluster и т. Д.?
1 ответ
Модуль binlogrouter в MaxScale является прокси-сервером репликации. Он хранит двоичные журналы мастера на сервере MaxScale. В отличие от обычного ведомого устройства репликации, binlogrouter не будет записывать свой собственный двоичный журнал. Это означает, что двоичные журналы на сервере MaxScale будут идентичны журналам на исходном главном сервере.
Чтобы собрать двоичные журналы из нескольких кластеров, необходимо настроить несколько служб binlogrouter и указать каждую из них на главном сервере. Двоичные журналы хранятся отдельно для каждой настроенной службы.
Вот пример конфигурации службы binlogrouter и слушателя:
[Replication-Router]
type=service
router=binlogrouter
version_string=10.0.17-log
router_options=server_id=4000,binlogdir=/var/lib/maxscale/,filestem=mysql-bin
user=maxuser
passwd=maxpwd
[Replication-Listener]
type=listener
service=Replication-Router
protocol=MySQLClient
port=3306
Прочитайте документацию Binlogrouter для получения дополнительной информации о различных опциях.