Tło : Mam dwa serwery MySQL 5.1 skonfigurowane w replikacji opartej na wierszach Master-Master (RBR) zgodnie z tym doskonałym przewodnikiem . Chcę replikować wszystkie bazy danych i będę regularnie dodawać nowe bazy danych.
Cel : Chciałbym móc dodawać nowe bazy danych do replikacji, po prostu dodając bazę danych do jednego z serwerów; bez konieczności zatrzymywania obu urządzeń podrzędnych, zmiany plików konfiguracyjnych, restartowania serwerów MySQL i ponownego uruchamiania urządzeń podrzędnych.
Pytanie : Z tego co czytałem, ja myślę mogę to zrobić po prostu pomijając binlog-do-db
, binlog-ignore-db
, replicate-do-db
oraz replicate-ignore-db
ustawienia w konfiguracji każdego serwera, ale nie mogę być pewien. Dokumenty MySQL o tym, jak oceniane są opcje replikacji na poziomie bazy danych i tabeli, sprawiają, że myślę, że może to nie być w ogóle możliwe.
Odpowiednie części moich /etc/mysql/my.cnf
plików są kopiowane poniżej. Czy jestem na dobrej drodze? Czy to, czego chcę, jest w ogóle możliwe?
Mistrz 1 :
[mysqld]
binlog-format = row
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = <master2_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M
Mistrz 2 :
[mysqld]
binlog-format = row
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
master-host = <master1_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M