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

首頁 > 數據庫 > MySQL > 正文

MySQL二進制日志格式對復制的影響

2024-07-24 13:00:04
字體:
來源:轉載
供稿:網友

MySQL二進制日志格式對復制的影響

復制的分類

基于SQL語句的復制 - SBR

主庫二進制日志格式使用STATEMENT

在MySQL 5.1之前僅存在SBR模式, 又稱之為邏輯復制.

主庫記錄CUD操作的SQL語句, 從庫會讀取并重放.

優點

生成的日志量少, 節約網絡傳輸IO

當主從的列的順序不一致時, SBR依然可以正常工作.

如對大表進行結構修改時, 可以先修改從庫, 然后再進行主從切換.

缺點

對不確定性函數無法保證主從數據的一致對于PRocedure, trigger, function有可能在主從上表現不一致(SBR BUG)主庫上要鎖定多少行, 從庫上也需要所以多少行, 所以相對于ROW復制時從庫上需要更多的行鎖

基于行的復制 - RBR

主庫二進制日志格式使用ROW

優點

對不確定性函數友好, 如UUID()

減少從庫上數據庫鎖的使用

insert into t_order_cnt(timestr, total, amount)select date(order_date), count(1), sum(amout)from t_order group by date(order_date);

上面的SQL在主庫執行時會對t_order進行鎖表操作, 對于STATEMENT的復制從庫上也會對同樣的表進行鎖定, 但是基于ROW的復制僅需增加t_order對應的行的數據即可.

缺點

要求主從數據庫的表的結構一致, 否則可能會中斷復制無法在從庫上激活trigger

Github

基于Docker Compose構建的MySQL MHA集群


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静宁县| 鄱阳县| 马尔康县| 神农架林区| 金平| 逊克县| 福安市| 洱源县| 昌黎县| 巴南区| 伊川县| 油尖旺区| 攀枝花市| 毕节市| 杭锦旗| 洛南县| 新宁县| 堆龙德庆县| 澜沧| 吉安县| 南开区| 阳新县| 高陵县| 北海市| 鄯善县| 岳普湖县| 延吉市| 图木舒克市| 扎兰屯市| 常宁市| 贵阳市| 锦州市| 延川县| 康马县| 新邵县| 玛纳斯县| 东丰县| 钦州市| 辉县市| 仙居县| 通州市|