文档章节

小心使用replicate_do_db和replicate_ignore_db

s
 sunsyu
发布于 2017/04/13 16:04
字数 285
阅读 19
收藏 0
使用replicate_do_db和replicate_ignore_db时有一个隐患,跨库更新时会出错


如设置 replicate_do_db=test
use mysql;
update test.table1 set ......
第二句将不会被执行


如设置 replicate_ignore_db=mysql
use mysql;
update test.table1 set ......
第二句会被忽略执行


原因是设置replicate_do_db或replicate_ignore_db后,MySQL执行sql前检查的是当前默认数据库,所以跨库更新语句被忽略。


可以使用replicate_wild_do_table和replicate_wild_ignore_table来代替

replicate_wild_do_table=test.%

replicate_wild_ignore_table=mysql.%

这样就可以避免出现上述问题了

实验如下:

第一种情况
从库:
replicate-ignore-db = mysql
主库:
use mysql
CREATE TABLE test.testrepl1(
id int(5))ENGINE=INNODB DEFAULT CHARSET=UTF8;
从库不会同步。坑
 
第二种情况
从库:
replicate-ignore-db = mysql
 
主库:
use test
CREATE TABLE mysql.testrepl2(
id int(5))ENGINE=INNODB DEFAULT CHARSET=UTF8;
从库不会同步。
 
 
第三种情况
use test
update mysql.user set user = 'testuser5' where user = 'testuser1';
从库会同步
 
第四种情况
grant all on *.* to testnowild@'%' identified by 'ge0513.hudie';
从库会同步
 
第二大类:
Replicate_Wild_Ignore_Table: mysql.%
 
第五种情况
主库:
use test
update mysql.user set user = 'testuser1' where user = 'testuser5';
从库没有同步。
 
第六种情况
主库:
grant all on *.* to testwild@'%' identified by 'ge0513.hudie';
从库没有同步。


© 著作权归作者所有

s
粉丝 0
博文 109
码字总数 135924
作品 0
深圳
私信 提问
mysql忽略复制的表

[mysqld]binlog-ignore-db = mysqlreplicate-ignore-db = mysqlbinlog-ignore-db = information_schemareplicate-ignore-db = information_schemabinlog-ignore-db = performance_schemarepl......

小小三郎1
2017/12/24
0
0
MySQL(Replication-MS)

mysql cluster master: .binmysqld --defaults-file=.my.ini create directory: D:/Server/mysql/mysql-master/tmp and D:/Server/mysql/mysql-master/data master-client: .binmysql -h loc......

赵-猛
2016/07/03
17
0
主从服务器的配置

# 让从服务器 能够访问主服务器 1,grant all privileges on . to '主服务器账号'@'从服务器IP' identified by '主服务器密码'; 2,flush privileges; 3,SELECT DISTINCT CONCAT('User: '''......

张孝国
2016/12/28
0
0
centos7 mysql互为主从+keepalived

一、互为主从配置 1.1、资源情况 192.168.11.177 server1 192.168.11.180 server2 192.168.11.210 VIP 1.2、server1配置 # vi /etc/my.cnf [mysqld] server-id=1 log-bin=mysql-bin relay_lo......

断臂人
2018/08/20
0
0
手把手教你搭建MySQL的主从、半同步、主主复制架构

复制其最终目的是让一台服务器的数据和另外的服务器的数据保持同步,已达到数据冗余或者服务的负载均衡。一台主服务器可以连接多台从服务器,并且从服务器也可以反过来作为主服务器。主从服务...

fighting-cluber
2014/02/24
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

新建作业20191011121223

2.编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound,Sally shouted,"By the Great Pumpkin,what was that!" #include<stdio.h>int main(){printf("\a");......

电子197朱妍
24分钟前
3
0
家庭作业——苗钰婷

2 编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that! #include<stdio.h>int main(){......

OSC_Okruuv
45分钟前
6
0
经典系统设计面试题解析:如何设计TinyURL(一)

原文链接: https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
46分钟前
6
0
2.面向对象设计原则(7条)

开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 实现方法 可以通过“抽象约束、封装变化”来实...

Eappo_Geng
48分钟前
10
0
8086汇编基础 debug P命令 一步完成loop循环

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
52分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部