91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql 5.7 Gtid內部學習(七) 總結binlog_gtid_simple_recovery參數帶來的影響

發布時間:2020-08-07 08:12:10 來源:ITPUB博客 閱讀:166 作者:gaopengtttt 欄目:MySQL數據庫

簡書地址:
http://www.jianshu.com/p/c9888d6447c8

想了想還是專門開了一節來總結這個問題
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參數設置不掃描全部binlog,只掃描第一個和最后一個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以上應該如何設置

作者微信:


Mysql 5.7 Gtid內部學習(七) 總結binlog_gtid_simple_recovery參數帶來的影響
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浮山县| 渭南市| 英吉沙县| 什邡市| 托克逊县| 时尚| 屯门区| 许昌县| 雷州市| 桐庐县| 南阳市| 双江| 梁平县| 霍州市| 雷山县| 图片| 东海县| 长顺县| 刚察县| 宿迁市| 卫辉市| 革吉县| 辛集市| 界首市| 鞍山市| 图们市| 任丘市| 高平市| 西乌珠穆沁旗| 涿鹿县| 界首市| 环江| 英山县| 桦南县| 西盟| 上栗县| 铁岭县| 马龙县| 张北县| 黄梅县| 深州市|