中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

【MySQL】MGR集群相關簡介

發布時間:2020-05-30 01:19:45 來源:網絡 閱讀:827 作者:wangkunj 欄目:MySQL數據庫
1.MGR簡介

MySQL Group Replication(MGR)是MySQL官方在5.7.17版本引進的一個數據庫高可用與高擴展的解決方案,以插件形式提供。MGR基于分布式paxos協議,實現組復制,保證數據一致性。內置故障檢測和自動選主功能,只要不是集群中的大多數節點都宕機,就可以繼續正常工作。提供單主模式與多主模式,多主模式支持多點寫入。

2.原理簡單介紹

組復制是一種可用于實現容錯系統的技術。復制組是一個通過消息傳遞相互交互的Server集群。復制組由多個Server成員組成,如下圖的Master1、Master2、Master3,所有成員獨立完成各自的事務。

【MySQL】MGR集群相關簡介

當客戶端發起一個更新事務時,該事務先在本地執行,執行完成之后就要發起對事務的提交操作。在還沒有真正提交之前,需要將產生的復制寫集廣播出去,復制到其它成員。如果沖突檢測成功,組內決定該事務可以提交,其它成員可以應用,否則就回滾。

最終,所有組內成員以相同的順序接收同一組事務。因此組內成員以相同的順序應用相同的修改,保證組內數據強一致性。

3.使用限制
3.1 僅支持innodb引擎

? 為什么需要使用innodb引擎呢?在MySQL Group Replication中,事務以樂觀形式執行,但是在提交時檢查沖突,如果存在沖突,則會在某些實例上回滾事務,保持各個實例的數據一致性,那么,這就需要使用到 事務存儲引擎,同事Innodb提供一些額外的功能,可以更好的管理和處理沖突,所以建議 業務使用表格使用inndb存儲引擎,類似于系統表格mysql.user使用MyISAM引擎的表格,因為極少修改及添加,極少出現沖突情況。

3.2 主鍵

? 每個需要復制的表格都必須定義一個顯式主鍵,注意跟隱式主鍵區分(使用Innodb引擎的表格,如果沒有指定主鍵,默認選擇第一個非空的唯一索引作為主鍵,如果沒有,則自動創建一個6個字節的rowid隱式主鍵)。這個主鍵能在沖突發生時啟動極其重要的作用,同時,能夠有效提高relay log的執行效率。

3.3 隔離級別

? 官網建議使用READ COMMITTED級別,除非應用程序依賴于REPLEATABLE READ,RC模式下沒有GAP LOCK,比較好支持Innodb本身的沖突檢測機制何組復制的內部分布式檢測機制一起協同工作。不支持SERIALIZABLE隔離級別。

3.4 外鍵

? 不建議使用級聯外鍵,如果舊庫本身有外鍵,業務上無法去除并且使用的是多主模式,那么,請配置 group_replication_enforce_update_everywhere_check ,強制檢查每個組成員的級聯檢查,避免多主模式下執行級聯操作造成的檢測不到的沖突。

4.參數規范

因前期創建實例大多采取默認配置 導致開發,測試,生產等環境間數據庫參數不同 對程序運行有一定的影響。 以后創建實例將會參數規范化 對已有的實例后續也會慢慢修正 。

下面簡單解釋下幾個改動的參數

  • sql_mode 去除了ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE等限制 采取了較為寬松的模式

  • lower_case_table_names 統一設置為1 即不區分大小寫 有些實例還沒更改 大家建表建庫的時候不要大寫

  • character-set-server 統一設置為utf8 不要用latin1字符集

  • wait_timeoutinteractive_timeout參數控制空閑連接的時長 當連接空閑時間超過此參數則會被斷開 以后會統一設置為1800s即30分鐘

  • transaction_isolation 事務隔離級別 MySQL官方默認是可重復讀(repeatable-read)目前單實例及主從架構的mysql采用了此級別,MGR集群將采取讀已提交(read-committed)級別。Oracle默認是讀已提交 。
    【MySQL】MGR集群相關簡介
向AI問一下細節

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

AI

济宁市| 扎兰屯市| 卫辉市| 保德县| 张家川| 珲春市| 浦东新区| 阜城县| 临洮县| 甘孜| 宝应县| 琼结县| 忻州市| 建湖县| 灵山县| 永德县| 连山| 万全县| 池州市| 民权县| 富蕴县| 新宾| 陕西省| 宝兴县| 南木林县| 洪雅县| 遂宁市| 高州市| 卫辉市| 九江市| 德惠市| 长治县| 姚安县| 铅山县| 英超| 大冶市| 余姚市| 天柱县| 池州市| 宜阳县| 屏东县|