Background : ho due server MySQL 5.1 configurati in replica di base (RBR) Master-Master seguendo questa eccellente guida . Voglio replicare tutti i database e aggiungerò nuovi database regolarmente.
Obiettivo : vorrei poter aggiungere nuovi database alla replica semplicemente aggiungendo il DB a uno dei server; senza dover arrestare entrambi gli slave, modificare i file di configurazione, riavviare i server MySQL e riavviare gli slave.
Domanda : Da quello che ho letto, io penso che posso fare questo semplicemente omettendo qualsiasi binlog-do-db
, binlog-ignore-db
, replicate-do-db
, e le replicate-ignore-db
impostazioni nella configurazione di ciascun server, ma non posso essere sicuro. I documenti di MySQL su come vengono valutate le opzioni di replica a livello di database e di tabella mi fanno pensare che potrebbe non esserci alcun modo per farlo.
Le parti pertinenti dei miei /etc/mysql/my.cnf
file vengono copiate di seguito. Sono sulla buona strada? Ciò che voglio è anche possibile?
Master 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
Master 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