日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql 重做日志及与二进制日志的区别

發布時間:2023/12/19 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql 重做日志及与二进制日志的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Mysql 重做日志及與二進制日志的區別(轉http://blog.uouo123.com/post/623.html)

Mysql默認情況下會有兩個文件:ib_logfile0和ib_logfile1,這兩個文件就是重做日志文件,或者事務日志。

重做日志的目的:萬一實例或者介質失敗,重做日志文件就能派上用場。

每個InnoDB存儲引擎至少有一個重做日志文件組,每個文件組下至少有2個重做日志文件,如默認的ib_logfile0、ib_logfile1。InnoDB存儲引擎先寫重做日志文件1,當達到文件的最后時,會切換至重做日志文件2,當重做日志文件2也被寫滿時,會再被切換到重做日志文件1中。

影響重做日志的參數:

Innodb_log_file_size、innodb_log_files_in_group、innodb_log_group_home_dir影響著重做日志文件的屬性。

?

重做日志與二進制日志的區別:

1)二進制日志會記錄所有與mysql有關的日志記錄,包括InnoDB等其他存儲引擎的日志,而InnoDB存儲引擎的重做日志只記錄有關其本身的事務日志,

2)記錄的內容不容,不管你將二進制日志文件記錄的格式設為哪一種,其記錄的都是關于一個事務的具體操作內容,而InnoDB存儲引擎的重做日志文件記錄的關于每個頁的更改的物理情況;

3)寫入的時間也不同,二進制日志文件是在事務提交前進行記錄的,而在事務進行的過程中,不斷有重做日志條目被寫入重做日志文件中。

從日志緩沖寫入磁盤上的重做日志文件的條件:

在主線程中每秒會將重做日志緩沖寫入磁盤的重做日志文件中,不論事務是否提交。另一個觸發這個過程是由參數innodb_flush_log_at_trx_commit控制,表示在提交時,處理重做日志的方式。

參數innodb_flush_log_at_trx_commit可設的值有0、1、2,0代表當提交事務時,并不將事務的重做日志寫入磁盤上的日志文件,而是等待主線程每秒的刷新,而1和2不同的地方在于:1是在commit時將重做日志緩沖同步寫到磁盤;2是重做日志異步寫到磁盤,即不能完全保證commit時肯定會寫入重做日志文件,只是有這個動作。

?值得注意的一點:因為重做日志有個capacity變量,該值代表了最后的檢查點不能超過這個閥值。

?

轉載于:https://www.cnblogs.com/wangtengfei/p/4552381.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Mysql 重做日志及与二进制日志的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。