MySQL 5.5主从关于‘复制过滤’的深入探究(2)

对表内容修改:
    1. 主库不use,向li表增加数据
    insert into kai.li values('1','ljk');
    从库复制
    2. 主库 use mysql,向li表增加数据
    从库不复制
    3. 主库use 其他库,更新li库(即跨库更新)
    mysql> use picture;
    mysql> insert into kai.li values('2','lhy');
    从库复制

对mysql库进行更改:
    1. 不 use
    mysql> create table mysql.ljk (id int,name varchar(15));
    从库复制
    2. Use 其他库
    mysql> drop table mysql.ljk;
    从库复制
 

二、从库添加“replicate-ignore-db = mysql”,主库不加过滤

库操作
    1. 主库不use,执行建库语句
    mysql> create database kai;
    从库复制
    2. 主库use  mysql,再执行
    mysql> create database kai;
    从库复制

在kai数据库执行建表操作
    1. 不use
    create table kai.li (id int,name char(15));
    从库复制
    2. use mysql;
    create table kai.li (id int,name char(15));
    从库不复制
    3. use 其他库;
    create table kai.li (id int,name char(15));
    从库复制

对表内容修改:
    1. 主库不use,向li表增加数据
    insert into kai.li values('1','ljk');
    从库复制
    2. 主库 use mysql,向li表增加数据
    从库不复制
    3. 主库use 其他库,更新li库(即跨库更新)
    mysql> use picture;
    mysql> insert into kai.li values('2','lhy');
    从库复制

对mysql库进行更改
    1. 不 use
    mysql> create table mysql.ljk (id int,name varchar(15));
    从库不复制,且从库状态正常
    2. Use 其他库
    mysql> drop table mysql.ljk;
    从库复制
    3. Use mysql
    mysql> create table ljk (id int,name varchar(15));
    从库不复制

 

三、从库添加“replicate-ignore-table = mysql.%”,主库不加过滤

注:这条规则加完在任何库下执行任何语句均复制;相反,在从库添加replicate-do-table = mysql.%后,在任何库下执行任何sql都不会被复制。不知道是不是bug

库操作:
    1. 主库不use,执行建库语句
    mysql> create database kai;
    从库复制
    2. 主库use  mysql,再执行
    mysql> create database kai;
    从库复制

在kai数据库执行建表操作
    1. 不use
    create table kai.li (id int,name char(15));
    从库复制
    2. use mysql;
    create table kai.li (id int,name char(15));
    从库复制
    3. use 其他库;
    create table kai.li (id int,name char(15));
    从库复制

对表内容修改:
    1. 主库不use,向li表增加数据
    insert into kai.li values('1','ljk');
    从库复制
    2. 主库 use mysql,向li表增加数据
    从库复制
    3. 主库use 其他库,更新li库(即跨库更新)
    mysql> use picture;
    mysql> insert into kai.li values('2','lhy');
    从库复制

对mysql库进行更改
    1. 不 use
    mysql> create table mysql.ljk (id int,name varchar(15));
    从库复制
    2. Use 其他库
    mysql> drop table mysql.ljk;
    从库复制
    3. Use mysql
    mysql> create table ljk (id int,name varchar(15));
    从库复制

 

四、 从库添加“replicate-wild-ignore-table = mysql.%”,主库不加过滤

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/72cc475f8b1b90ed7e8241958e712e4f.html