国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql 復制過濾重復如何解決

2024-07-24 13:01:46
字體:
來源:轉載
供稿:網友
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級別停止,所以沒有做檢查。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂尔多斯市| 望都县| 东宁县| 原阳县| 镇沅| 当阳市| 钟山县| 阿瓦提县| 香河县| 临泉县| 三穗县| 浙江省| 绿春县| 札达县| 阳信县| 晋城| 肃北| 贵港市| 鄂尔多斯市| 肥西县| 四子王旗| 鹿邑县| 平舆县| 灵璧县| 临洮县| 法库县| 聂荣县| 新邵县| 花莲县| 昌吉市| 大名县| 方山县| 河津市| 玉门市| 三穗县| 凤城市| 固始县| 五寨县| 太康县| 义乌市| 富宁县|