← Back to team overview

maria-discuss team mailing list archive

Re: Don't replicate procedures in the mysql database


On 28/08/16 21:06, Игорь Пашев wrote:
> Hi all,
> I'm using multi-source replication with "white list" options only:
> foo.replicate_wild_do_table = foo.%
> foo.replicate_ignore_table = foo.beep
> foo.replicate_ignore_table = foo.tmp
> The masters are writing row-based binary logs as is (no filtering at masters).
> This works almost as expected: only the `foo` database gets updates,
> the mentioned tables are ignored. The `mysql` database does not get
> updates, even when I run GRANT / REVOKE on the masters quite often.
> But when I create a procedure on the master it get propagated to the slave:

A question for you is why is it important not to have it on the slave?
If the slave is a failover it should have the rpocedure.

> When I execute `CREATE PROCEDURE mysql.bar` on the master, this
> procedure appears on the slave.

Which is what replication is meant to do.

Its probably also best not to populate the mysql database with your
stored procedures.

> Is this a bug?


> How could I avoid that?

set session sql_log_bin=0; create procedure...

Follow ups