MySQL主从复制中replicate-ignore-db replicate-wild-ignore-table的应用
replicate-ignore-db
replicate-wild-ignore-table
官方的解释是:在主从同步的环境中,replicate-ignore-db用来设置不需要同步的库。生产库上不建议设置过滤规则。如果非要设置,那就用Replicate_Wild_Ignore_Table:
在实际生产主从复制环境中,配置Replicate_Wild_Ignore_Table:mysql.% 主库账户写,从库账户读
测试案例:
配置参数一:replicate-ignore-db = mysql
第一种情况
主库:
use mysql
CREATE TABLE test.employees(
id int(5))ENGINE=INNODB DEFAULT CHARSET=UTF8;
从库不会同步。
第二种情况
从库:
replicate-ignore-db = mysql
主库:
use test
CREATE TABLE mysql.employees(
id int(5))ENGINE=INNODB DEFAULT CHARSET=UTF8;
从库不会同步。
第三种情况
use test
update mysql.user set user = 'scott' where user = 'scott1';
从库会同步
第四种情况
grant all on *.* to scott@'%' identified by 'tiger';
从库会同步
配置参数二:replicate-wild-ignore-table = mysql.%
第一种情况
主库:
use test
update mysql.user set user = 'scott' where user = 'scott1';
从库没有同步。
第二种情况
主库:
grant all on *.* to scott@'%' identified by 'tiger';
从库没有同步。