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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql recovery参数_深入理解MySQL 5.7 GTID系列(七)binlog_gtid_simple_recovery参数的影响总结...

發布時間:2023/12/31 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql recovery参数_深入理解MySQL 5.7 GTID系列(七)binlog_gtid_simple_recovery参数的影响总结... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

想了想還是專門開了一節來總結這個問題:

5.7.6以下中默認

simplified_binlog_gtid_recovery=flase

5.7.6以上中默認

binlog_gtid_simple_recovery=true

默認值就是最合理的設置。

因為參數名更改了所以下面統稱simple_recovery來代替。

一、Gtid關閉

simple_recovery=flase

5.7.6以下:這種方式一定得到正確的Gtid集合

重啟MySQL需要掃描全部的BINLOG來獲得正確的GTID集合

purge binlog或者超過參數expire_logs_days參數設置不觸發全BINLOG掃描,由上層函數控制。因為不支持在線的GTID更改。

5.7.6以上:這種方式一定得到正確的Gtid集合

重啟MySQL掃描全部的BINLOG。

purge binlog或者超過參數expire_logs_days參數設置觸發全BINLOG掃描。

simple_recovery=true

5.7.6以下:這種情況可能得不到正確的GTID集合

重啟Mysql不掃描全部的BINLOG,只掃描第一個和最后一個BINLOG。

purge binlog或者超過參數expire_logs_days參數設置不觸發全BINLOG掃描,由上層函數控制。

5.7.6以上:由于有每個BINLOG都有Previous gtid Event的支持能夠得到正確的GTID集合。

重啟Mysql不掃描全部的BINLOG,只掃描第一個和最后一個BINLOG。

purge binlog或者超過參數expire_logs_days參數設置不觸發全BINLOG掃描,只掃描第一個和最后一個BINLOG。

二、Gtid打開

simple_recovery=flase

5.7.6以下:這種方式一定得到正確的GTID集合。

重啟MySQL不掃描全部的BINLOG,如果是中途打開GTID,重啟任然需要掃描多個BINLOG因為需要找到Previous gtid Event。

purge binlog或者超過參數expire_logs_days參數設置不觸發全BINLOG掃描,如果是中途打開GTID重啟,任然需要掃描多個BINLOG因為需要找到Previous gtid Event。

5.7.6以上:這種方式一定得到正確的GTID集合

重啟Mysql不掃秒全部的BINLOG,如果是中途打開GTID重啟任然需要掃描多個BINLOG因為需要找到GTID EVENT。

purge binlog或者超過參數expire_logs_days參數設置不觸發全BINLOG掃描,如果是中途打開GTID重啟任然需要掃描多個BINLOG因為需要找到GTID EVENT。

simple_recovery=true

5.7.6以下:這種情況可能得不到正確的GTID集合

重啟Mysql不掃描全部的BINLOG,只掃描第一個和最后一個BINLOG。

purge binlog或者超過參數expire_logs_days參數設置不掃描全部GTID,只掃描第一個和最后一個BINLOG。

5.7.6以上:由于有每個BINLOG都有Previous gtid Event的支持能夠得到正確的GTID集合。

重啟Mysql不掃描全部的BINLOG,只掃描第一個和最后一個BINLOG。

purge binlog或者超過參數expire_logs_days參數設置不觸發全BINLOG掃描,只掃描第一個和最后一個BINLOG。

三、本節總結

5.7.6以下保持默認設置simplified_binlog_gtid_recovery=flase,但是這會導致過多的BINLOG掃描,況且5.6沒有mysql.gtid_executed的支持,從庫必須開啟log_slave_updates,這會帶來性能影響。所以還是少用GTID。

5.7.6以上由于對每個BINLOG都有Previous gtid Event的支持binlog_gtid_simple_recovery=true是合理的設置,BINLOG掃描非常的快因為只是第一個和最后一個BINLOG文件而已。

可以看到Gtid也越來越成熟了。這部分的邏輯在函MYSQL_BIN_LOG::init_gtid_sets中前文已經提到過,這里就不看代碼了。

此外在5.7的官方文檔中對binlog_gtid_simple_recovery=true 有如下警告的描述:

If this option is enabled, gtid_executed and gtid_purged may be

initialized incorrectly in the following situations:

? The newest binary log was generated by MySQL 5.7.5 or older, and

gtid_mode was ON for some binary logs but OFF for the newest binary log.

? A SET GTID_PURGED statement was issued on a MySQL version

prior to 5.7.7, and the binary log that was active at the time of the SET

GTID_PURGED has not yet been purged.

If an incorrect GTID set is computed in either situation, it will remain incorrect

even if the server is later restarted, regardless of the value of this option.

如果將參數設置為true可能在老版本中得不到正確的GTID集合,也是前面討論的。

學習完本節至少能夠學習到:

binlog_gtid_simple_recovery/simplified_binlog_gtid_recovery是如何影響BINLOG文件的掃描的的

5.7.6以下應該如何設置

5.7.6以上應該如何設置

原文發布時間為:2018-03-9

本文作者:

高鵬(重慶八怪)

本文來自云棲社區合作伙伴“老葉茶館”,了解相關信息可以關注“老葉茶館”微信公眾號

總結

以上是生活随笔為你收集整理的mysql recovery参数_深入理解MySQL 5.7 GTID系列(七)binlog_gtid_simple_recovery参数的影响总结...的全部內容,希望文章能夠幫你解決所遇到的問題。

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