最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL?binlog格式之Row和Statement語句詳解

 更新時間:2023年12月18日 09:47:31   作者:a朋  
這篇文章主要為大家介紹了MySQL?binlog格式之Row和Statement語句詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

MySQL binlog記錄

binlog記錄MySQL的所有修改操作,包括DML操作(create/update/delete)以及DDL操作,必須是已提交的事務(wù)。

binlog可以在從庫中進(jìn)行重放,以實(shí)現(xiàn)MySQL數(shù)據(jù)的高可用:

  • master節(jié)點(diǎn)將數(shù)據(jù)修改操作寫入本機(jī)的binlog;
  • slave節(jié)點(diǎn)上的I/O線程讀取master節(jié)點(diǎn)的binlog,并寫入到本地的relay-log;
  • slave節(jié)點(diǎn)上的SQL線程讀取relay-log并進(jìn)行重放;

binlog格式有:statement、row、mixed;

> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
1 row in set (0.001 sec)

statement格式

statement記錄的是執(zhí)行的sql語句,也就是主庫上執(zhí)行了什么語句,binlog中就記錄什么語句。

statement格式的優(yōu)點(diǎn):

  • 由于僅記錄sql語句,日志記錄量較少,可以節(jié)約磁盤和網(wǎng)絡(luò)I/O;

statement格式的缺點(diǎn):

  • 對于特定的函數(shù),比如UUID(),user()這些非確定性函數(shù),在主備服務(wù)器上的執(zhí)行結(jié)果不同,可能造成主備數(shù)據(jù)不一致;
  • 生產(chǎn)環(huán)境中一般不使用。

statement格式的問題

statement格式可能導(dǎo)致主備服務(wù)器數(shù)據(jù)的不一致,比如下表t:

mysql> CREATE TABLE `t` (
  `id` int(11) NOT NULL,
  `a` int(11) DEFAULT NULL,
  `t_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `a` (`a`),
  KEY `t_modified`(`t_modified`)
) ENGINE=InnoDB;
insert into t values(1,1,'2018-11-13');
insert into t values(2,2,'2018-11-12');
insert into t values(3,3,'2018-11-11');
insert into t values(4,4,'2018-11-10');
insert into t values(5,5,'2018-11-09');

當(dāng)執(zhí)行sql語句:

mysql> delete from t where a>=4 and t_modified<='2018-11-10' limit 1;

設(shè)置binlog_format=statement,如果主庫和從庫上在執(zhí)行上述sql語句時,選擇了不同的索引,則會刪除不同的數(shù)據(jù):

  • 在主庫上:如果delete操作使用索引a,那么將刪除a=4這一行;
  • 在從庫上:如果delete操作使用索引t_modified,那么將刪除t_modified='2018-11-09',也就是a=5這一行;

row格式

row記錄的是每一行記錄的增/刪/改操作,若一條sql語句修改了1000條記錄,row格式的日志將會分別記錄1000條記錄的修改,而statement僅記錄一條sql語句。

row格式的優(yōu)點(diǎn):

  • 主從復(fù)制安全,可以保證主備服務(wù)器數(shù)據(jù)完全一致;
  • 若誤操作修改了數(shù)據(jù),同時沒有備份恢復(fù),可以通過分析二進(jìn)制日志,通過對記錄做反向操作,達(dá)到恢復(fù)數(shù)據(jù)的目的;

mixed格式

mixed格式下,根據(jù)sql語句特點(diǎn),由系統(tǒng)決定某個修改使用row還是statement格式進(jìn)行存儲。

若sql語句可能引起主備不一致,那么使用row格式,否則使用statement格式。

以上就是MySQL binlog格式之Row和Statement語句詳解的詳細(xì)內(nèi)容,更多關(guān)于MySQL binlog格式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 更新至MySQL 5.7.9的詳細(xì)教程

    更新至MySQL 5.7.9的詳細(xì)教程

    文章介紹了MySQL 5.7.9 GA版本的更新過程和一些常見警告的解決方法,包括設(shè)置`secure-file-priv`參數(shù)、跳過SSL連接、使用`skip-networking`代替`skip-name-resolve`等,感興趣的朋友一起看看吧
    2025-02-02
  • Centos7.3下mysql5.7安裝配置教程

    Centos7.3下mysql5.7安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了Centos7.3下mysql5.7安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 在windows10上安裝mysql詳細(xì)圖文教程

    在windows10上安裝mysql詳細(xì)圖文教程

    這篇文章主要介紹了在windows10上安裝mysql詳細(xì)圖文教程,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • 連接MySQL時出現(xiàn)1449與1045異常解決辦法

    連接MySQL時出現(xiàn)1449與1045異常解決辦法

    這篇文章主要介紹了連接MySQL時出現(xiàn)1449與1045異常解決辦法的相關(guān)資料,通過IP鏈接MySQL的時候會出現(xiàn)1499與1054錯誤異常的情況,這里提供解決辦法,需要的朋友可以參考下
    2017-09-09
  • 一篇文章學(xué)會MySQL基本查詢和運(yùn)算符

    一篇文章學(xué)會MySQL基本查詢和運(yùn)算符

    在MySQL數(shù)據(jù)庫操作中,運(yùn)算符扮演著較為重要的角色,連接表達(dá)式中的各個操作數(shù),其作用是用來指明對操作數(shù)所進(jìn)行的運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于MySQL基本查詢和運(yùn)算符的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • MySQL 句柄數(shù)占用過多的解決方法

    MySQL 句柄數(shù)占用過多的解決方法

    本文主要介紹解決MySQL句柄占用過多的方法,簡單實(shí)用,需要的朋友可以參考下。
    2016-05-05
  • Mysql設(shè)置主鍵自動增長起始值的方案總結(jié)

    Mysql設(shè)置主鍵自動增長起始值的方案總結(jié)

    在MySQL?中,當(dāng)主鍵定義為自增長后,這個主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫系統(tǒng)根據(jù)定義自動賦值,下面這篇文章主要給大家介紹了關(guān)于Mysql設(shè)置主鍵自動增長起始值的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 最全的mysql 5.7.13 安裝配置方法圖文教程(linux) 強(qiáng)烈推薦!

    最全的mysql 5.7.13 安裝配置方法圖文教程(linux) 強(qiáng)烈推薦!

    這篇文章主要為大家詳細(xì)介紹了linux下mysql 5.7.13 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下
    2016-08-08
  • mysql中in操作符的用法詳解

    mysql中in操作符的用法詳解

    IN 是 MySQL 中用于多值篩選的高效操作符,常用于 WHERE 子句,可替代多個 OR 條件,簡化查詢邏輯并提升可讀性,這篇文章主要介紹了mysql中in操作符的用法詳解,需要的朋友可以參考下
    2025-07-07
  • MySQL?數(shù)據(jù)庫?增刪查改、克隆、外鍵?等操作總結(jié)

    MySQL?數(shù)據(jù)庫?增刪查改、克隆、外鍵?等操作總結(jié)

    這篇文章主要介紹了MySQL?數(shù)據(jù)庫?增刪查改、克隆、外鍵?等操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論

京山县| 尼木县| 铅山县| 梅州市| 石狮市| 南丹县| 泸溪县| 射洪县| 仁寿县| 怀安县| 张家川| 年辖:市辖区| 济源市| 嫩江县| 临武县| 天等县| 九寨沟县| 阜平县| 怀远县| 义马市| 永安市| 永修县| 柏乡县| 屏东县| 恭城| 静宁县| 休宁县| 彩票| 台中县| 阜城县| 仁布县| 霍林郭勒市| 忻州市| 玛沁县| 洞口县| 密山市| 遂川县| 安陆市| 常德市| 缙云县| 镇江市|