最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL复制过滤注意事项

来源:懂视网 责编:小采 时间:2020-11-09 11:05:05
文档

MySQL复制过滤注意事项

MySQL复制过滤注意事项:MySQL复制过滤注意事项,有DB过滤规则的时候,statment模式必须使用USE语句,不能出现 db.表名,db.视图,db.存储程序这样的形式 1、replicate_do_db 和 replicate_ignore_db 不要同时出现。容易出现混淆。也是毫无意义的。 Replicate_Do_D
推荐度:
导读MySQL复制过滤注意事项:MySQL复制过滤注意事项,有DB过滤规则的时候,statment模式必须使用USE语句,不能出现 db.表名,db.视图,db.存储程序这样的形式 1、replicate_do_db 和 replicate_ignore_db 不要同时出现。容易出现混淆。也是毫无意义的。 Replicate_Do_D

MySQL复制过滤注意事项,有DB过滤规则的时候,statment模式必须使用USE语句,不能出现 db.表名,db.视图,db.存储程序这样的形式

1、replicate_do_db 和 replicate_ignore_db 不要同时出现。容易出现混淆。也是毫无意义的。
Replicate_Do_DB: db1
Replicate_Ignore_DB: db2

statement模式:
使用use 语句
use db1;insert into tb1 values (1);
use db2;insert into tb2 values (2);
以上在slave上均能正确复制,tb1 有数据,tb2没有数据。

不使用use 语句
insert into db1.tb1 values (11);
insert into db2.tb2 values (11);
结果tb1没有数据,tb2也没有数据(按照文档上来讲,应该有的)

row模式:
无论是否使用use 语句,均能正确复制
小结:对于statement模式,SQL语句必须使用use 语句,并设置设置多个replicate_do_db来复制多个DB。

2、只进行表级别过滤的时候,对于statement模式,无论是否使用use语句,均能正确复制。row模式也是可以的。(表名它匹配的表的全名:数据库名+表名)
replicate_do_table=db1.tb1
statement模式:
use db1; insert into tb1 values (22);
insert into db1.tb1 values (22);
两者的复制结果一致。
(同样do 和 ignore 不要混用,除非出现过滤DB的情况)

3、有DB过滤规则的时候,statment模式必须使用USE语句,不能出现 db.表名,db.视图,db.存储程序这样的形式。row模式完胜!
replicate-ignore-db = db1
replicate-do-table = db2.tbl2

USE db1;
INSERT INTO db2.tbl2 VALUES (1);

row模式下,
默认DB不是db1,所以跳过第一条规则,执行表的规则,,行被插入

statement模式下,
insert 语句被忽略,表的过滤规则已经在DB级别停止,所以没有做检查。

linux

文档

MySQL复制过滤注意事项

MySQL复制过滤注意事项:MySQL复制过滤注意事项,有DB过滤规则的时候,statment模式必须使用USE语句,不能出现 db.表名,db.视图,db.存储程序这样的形式 1、replicate_do_db 和 replicate_ignore_db 不要同时出现。容易出现混淆。也是毫无意义的。 Replicate_Do_D
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top