Description:
this is related to or correction of bug 88019
this is the response
Check your binlog format and behavior explained here:
https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#option_mysqld_repli...
note:
.. however, doing so does not replicate cross-database statements such
as UPDATE some_db.some_table SET foo='bar' while a different database
(or no database) is selected ..
best regards
Bogdan
and according to the document in the link
Row-based replication. Tells the slave SQL thread to restrict replication to database db_name. Only tables belonging to db_name are changed; the current database has no effect on this. Suppose that the slave is started with --replicate-do-db=sales and row-based replication is in effect, and then the following statements are run on the master:
USE prices;
UPDATE sales.february SET amount=amount+100;
The february table in the sales database on the slave is changed in accordance with the UPDATE statement; this occurs whether or not the USE statement was issued. However, issuing the following statements on the master has no effect on the slave when using row-based replication and --replicate-do-db=sales:
USE prices;
UPDATE prices.march SET amount=amount-25;
and what is happening is
you can see in slave binlog that some transactions from database
abc_info
will be ignored and will not be written in slave binlog file
and will not be excuted in the slave
and this is some of config file of the master and slave
master-info-file = master.info
relay-log = abc-relay
replicate-do-db = abc
replicate-do-db = abc_info
enforce_gtid_consistency = ON
log-bin = abc-bin
master_info_repository = TABLE
relay_log_recovery
log_slave_updates
group_concat_max_len = 2048
sync_binlog = 1
max_heap_table_size = 2097152000
collation-server = utf8_unicode_ci
binlog-do-db = abc
binlog-do-db = abc_info
gtid-mode = ON
relay-log-info-repository = TABLE
binlog_format = ROW
when using multi source replication with multiple databases in
replicate_do_db
and binlog_do_db
the some transactions of the added datatbases
will be ignored
binlog-do-db=abc
binlog-do-db=abc_info
replicate-do-db = abc
replicate-do-db = abc_info
the database abc_info has some transactions will be ignored by the slave
and although log-slave-update is on
it will not written in slave log-bin file
How to repeat:
multi source replication Adding Multiple Databases to replication