Кто настраивал multi-source replication (Multi-source replication means that one server has many masters from which it replicates. This is a new feature in MariaDB 10.0.) в mariadb?
Ознакомившись с документацией, мне не понятно, как сделать так, чтобы при
Код: Выделить всё
show all slaves status\G;для разных конекшенов в поле
Код: Выделить всё
Replicate_Do_DB:были установлены разные базы данных.
Объясню: когда я делаю change master несколько раз на разные !Р и даю им разные имена, и при этом в my.cnf (replicate-do-db) перечислены названия бд с разных серверов, то для всех этих конекшенов (change master) в поле Replicate_Do_DB перечислены все базы, которые я указал в my.cnf. И из-за этого, когда я делаю start all staves и когда на одном из мастер серверов изменилась база, то на слейве значение Exec_Master_Log_Pos меняется для всех, а не для одного.
Пример
Код: Выделить всё
change master 'from_db1' to master_host='IP1', master_user='replica', master_password='replica', master_log_file='mysql-bin.00006', master_log_pos=3836374;
change master 'from_db2' to master_host='IP2', master_user='replica', master_password='replica', master_log_file='mysql-bin.000046', master_log_pos=933454;в итоге получаю
Код: Выделить всё
MariaDB [(none)]> show all slaves status\G;
*************************** 1. row ***************************
Connection_name: from_db1
Master_Host: IP1
Replicate_Do_DB: db1,db2
*************************** 2. row ***************************
Connection_name: from_db2
Master_Host: IP2
Replicate_Do_DB: db1,db2а надо
Код: Выделить всё
MariaDB [(none)]> show all slaves status\G;
*************************** 1. row ***************************
Connection_name: from_db1
Master_Host: IP1
Replicate_Do_DB: db1
*************************** 2. row ***************************
Connection_name: from_db2
Master_Host: IP2
Replicate_Do_DB: db2Если в my.cnf не указывать replicate-do-db, тогда поле Replicate_Do_DB - пустое.
Как это исправить?