欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中的binlog刷盤機(jī)制解讀

 更新時(shí)間:2025年08月15日 16:29:26   作者:小志的博客  
MySQL binlog由server層提供,支持三種刷盤策略:sync_binlog=0(性能高但可能丟失)由操作系統(tǒng)決定刷盤時(shí)機(jī);=1(最安全)每次提交強(qiáng)制刷盤;=2(折中)每N次提交后刷盤,5.7.7前默認(rèn)0,之后默認(rèn)1

一、binlog刷盤機(jī)制

  • binlog是由mysql的server層提供出來(lái)一種日志記錄方式,是所有引擎共用的,不是只屬于innoDB引擎。
  • binlog同樣提供了3種同步機(jī)制,通過(guò)配置文件中sync_binlog屬性的實(shí)現(xiàn)的刷盤策略。

二、sync_binlog屬性提供的3種刷盤策略

  • sync_binlog=0 操作系統(tǒng)決定(實(shí)時(shí)寫,延遲刷)。

由server層的執(zhí)行器在提交了事務(wù)之后,寫到PageCache,再由操作系統(tǒng)決定什么時(shí)候調(diào)用fsync函數(shù)將 binlog 寫入到磁盤(性能最高,但宕機(jī)可能丟失部分 binlog)

  • sync_binlog=1 提交時(shí)寫入(實(shí)時(shí)寫、實(shí)時(shí)刷)。

每次事務(wù)提交時(shí)都強(qiáng)制刷新 binlog 到磁盤(最安全,但性能較低)

  • sync_binlog=2 n次事務(wù)提交(實(shí)時(shí)寫、延遲刷)。

由server層的執(zhí)行器在提交了N次事務(wù)之后,寫到PageCache,再由操作系統(tǒng)決定什么時(shí)候調(diào)用fsync函數(shù)將 binlog 寫入到磁盤(折中方案,平衡安全性和性能)

  • mysql5.7.7以前的版本默認(rèn)使用sync_binlog=0
  • mysql5.7.7以后的版本默認(rèn)使用sync_binlog=1

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql多主一從數(shù)據(jù)備份的方法教程

    Mysql多主一從數(shù)據(jù)備份的方法教程

    這篇文章主要給大家介紹了關(guān)于Mysql多主一從數(shù)據(jù)備份的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-12-12
  • MySQL數(shù)據(jù)庫(kù)連接數(shù)查詢、配置簡(jiǎn)單示例代碼

    MySQL數(shù)據(jù)庫(kù)連接數(shù)查詢、配置簡(jiǎn)單示例代碼

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)連接數(shù)查詢、配置的相關(guān)資料,連接數(shù)與性能密切相關(guān),需要根據(jù)實(shí)際需求合理配置,通過(guò)設(shè)置最大連接數(shù)、使用連接池和優(yōu)化應(yīng)用程序連接邏輯,可以提高數(shù)據(jù)庫(kù)的穩(wěn)定性和性能,需要的朋友可以參考下
    2025-03-03
  • 一文帶你了解MySQL之約束

    一文帶你了解MySQL之約束

    在SQL標(biāo)準(zhǔn)中,一共規(guī)定了6種不同的約束,包括非空約束,唯一約束和檢查約束等,而在MySQL中是不支持檢查約束的,所以這篇文章先對(duì)其余5種約束做一個(gè)詳解和練習(xí),需要的朋友可以參考下
    2023-06-06
  • ubuntu 16.04下mysql5.7.17開放遠(yuǎn)程3306端口

    ubuntu 16.04下mysql5.7.17開放遠(yuǎn)程3306端口

    這篇文章主要介紹了ubuntu 16.04下mysql5.7.17開放遠(yuǎn)程3306端口的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL 數(shù)據(jù)備份與還原的示例代碼

    MySQL 數(shù)據(jù)備份與還原的示例代碼

    這篇文章主要介紹了MySQL 數(shù)據(jù)備份與還原的相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • mysql啟動(dòng)時(shí)報(bào)錯(cuò):error while loading shared libraries: libncurses.so.5: cannot open shared object file的解決辦法

    mysql啟動(dòng)時(shí)報(bào)錯(cuò):error while loading shared li

    這篇文章主要給大家介紹了解決mysql啟動(dòng)時(shí)報(bào)錯(cuò):error while loading shared libraries: libncurses.so.5: cannot open shared object file的方法,需要的朋友可以參考下
    2023-08-08
  • MySQL 的覆蓋索引與回表的使用方法

    MySQL 的覆蓋索引與回表的使用方法

    這篇文章主要介紹了MySQL 的覆蓋索引與回表的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • MySQL優(yōu)化全攻略-相關(guān)數(shù)據(jù)庫(kù)命令

    MySQL優(yōu)化全攻略-相關(guān)數(shù)據(jù)庫(kù)命令

    MySQL優(yōu)化全攻略-相關(guān)數(shù)據(jù)庫(kù)命令...
    2006-11-11
  • golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)備份的操作方法

    golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)備份的操作方法

    這篇文章主要介紹了golang實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)備份的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • MyBatis 動(dòng)態(tài)SQL全面詳解

    MyBatis 動(dòng)態(tài)SQL全面詳解

    MyBatis 的強(qiáng)大特性之一便是它的動(dòng)態(tài) SQL。如果你有使用 JDBC 或其他類似框架的經(jīng)驗(yàn),你就能體會(huì)到根據(jù)不同條件拼接 SQL 語(yǔ)句有多么痛苦。拼接的時(shí)候要確保不能忘了必要的空格,還要注意省掉列名列表最后的逗號(hào)。利用動(dòng)態(tài) SQL 這一特性可以徹底擺脫這種痛苦
    2021-09-09

最新評(píng)論