濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog

如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog

熱門標簽:電話外呼系統(tǒng)改號 地圖標注費用是多少 啥是企業(yè)400電話辦理 怎樣在地圖標注銷售區(qū)域 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 南昌三維地圖標注 外呼系統(tǒng)打電話上限是多少 百應(yīng)電話機器人優(yōu)勢 曲靖移動外呼系統(tǒng)公司

innodb_flush_log_at_trx_commit和sync_binlog  兩個參數(shù)是控制MySQL磁盤寫入策略以及數(shù)據(jù)安全性的關(guān)鍵參數(shù)。

show variables like "innodb_flush_log_at_trx_commit";

innodb_flush_log_at_trx_commit:

0: 由mysql的main_thread每秒將存儲引擎log buffer中的redo日志寫入到log file,并調(diào)用文件系統(tǒng)的sync操作,將日志刷新到磁盤。

1:每次事務(wù)提交時,將存儲引擎log buffer中的redo日志寫入到log file,并調(diào)用文件系統(tǒng)的sync操作,將日志刷新到磁盤。

2:每次事務(wù)提交時,將存儲引擎log buffer中的redo日志寫入到log file,并由存儲引擎的main_thread 每秒將日志刷新到磁盤。

show variables like "sync_binlog";

sync_binlog:

0 :存儲引擎不進行binlog的刷新到磁盤,而由操作系統(tǒng)的文件系統(tǒng)控制緩存刷新。

1:每提交一次事務(wù),存儲引擎調(diào)用文件系統(tǒng)的sync操作進行一次緩存的刷新,這種方式最安全,但性能較低。

n:當提交的日志組=n時,存儲引擎調(diào)用文件系統(tǒng)的sync操作進行一次緩存的刷新。

sync_binlog=0或sync_binlog大于1,事務(wù)被提交,而尚未同步到磁盤。因此,在電源故障或操作系統(tǒng)崩潰時有可能服務(wù)器已承諾尚未同步一些事務(wù)到二進制日志。因此它是不可能執(zhí)行例行程序恢復(fù)這些事務(wù),他們將會丟失二進制日志。

innodb_flush_log_at_trx_commit和sync_binlog 都為 1 時是最安全的,在mysqld 服務(wù)崩潰或者服務(wù)器主機crash的情況下,binary log 只有可能丟失最多一個語句或者一個事務(wù)。但是魚與熊掌不可兼得,雙1,1 會導(dǎo)致頻繁的io操作,因此該模式也是最慢的一種方式。

實際使用時,要考慮業(yè)務(wù)方對性能和安全性的需求,綜合考量設(shè)置,兩個參數(shù)。上圖中是我們線上機器的參數(shù)。

以上就是如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog的詳細內(nèi)容,更多關(guān)于MySQL的innodb_flush_log_at_trx_commit和sync_binlog的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • MySQL InnoDB架構(gòu)的相關(guān)總結(jié)
  • MySQL InnoDB ReplicaSet(副本集)簡單介紹
  • 詳解MySQL InnoDB存儲引擎的內(nèi)存管理
  • MySQL Innodb關(guān)鍵特性之插入緩沖(insert buffer)
  • MySQL InnoDB 鎖的相關(guān)總結(jié)
  • Mysql InnoDB的鎖定機制實例詳解
  • Mysql技術(shù)內(nèi)幕之InnoDB鎖的深入講解
  • 修改MySQL數(shù)據(jù)庫引擎為InnoDB的操作
  • 簡述MySQL InnoDB存儲引擎
  • MySQL InnoDB表空間加密示例詳解
  • MySQL InnoDB 事務(wù)鎖源碼分析

標簽:吉林 滄州 隨州 錦州 甘南 荊州 黑河 資陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog》,本文關(guān)鍵詞  如何,區(qū)分,MySQL,的,innodb,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何區(qū)分MySQL的innodb_flush_log_at_trx_commit和sync_binlog的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    峨眉山市| 县级市| 桐梓县| 方山县| 阳西县| 临西县| 任丘市| 怀来县| 千阳县| 浠水县| 正镶白旗| 福海县| 通江县| 忻州市| 五指山市| 镇雄县| 大安市| 沈丘县| 龙陵县| 莆田市| 西昌市| 都匀市| 凤翔县| 抚顺县| 阜阳市| 昆明市| 东城区| 乌恰县| 阳春市| 荆门市| 铜鼓县| 博客| 宁远县| 抚州市| 台北县| 沁阳市| 广宗县| 榕江县| 惠水县| 南和县| 文安县|