真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mysql中基于GTID的復(fù)制模式是什么

這篇文章主要介紹了MySQL中基于GTID的復(fù)制模式是什么,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),梅河口企業(yè)網(wǎng)站建設(shè),梅河口品牌網(wǎng)站建設(shè),網(wǎng)站定制,梅河口網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,梅河口網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

GTID定義

GTID( Global Transaction Identifier)全局事務(wù)標(biāo)識(shí)。GTID是5.6 版本引入的一個(gè)有關(guān)于主從復(fù)制的重大改進(jìn),相對(duì)于之前版本基于Binlog文件+Position的主從復(fù)制,基于GTID的主從復(fù)制,數(shù)據(jù)一致性更高,主從數(shù)據(jù)復(fù)制更健壯,主從切換、故障切換不易出錯(cuò),很少需要人為介入處理。

表示方式

GTID = server_uuid:transaction_id
其GTID通常會(huì)記錄在MySQL的系統(tǒng)變量@@GLOBAL.gtid_executed 以及系統(tǒng)表mysql.gtid_executed中,系統(tǒng)變量@@GLOBAL.gtid_executed 在內(nèi)存中,屬于非持久化存儲(chǔ),而系統(tǒng)表mysql.gtid_executed屬于持久化存儲(chǔ)。

GTID比傳統(tǒng)復(fù)制的優(yōu)勢(shì)

  1. 更簡(jiǎn)單的搭建主從復(fù)制

  2. 更簡(jiǎn)單的實(shí)現(xiàn)failover (主從切換),不用以前那樣一步一步的去找log_filelog_pos

  3. GTID是連續(xù)的沒有空洞的,保證數(shù)據(jù)的一致性,零丟失。

  4. 復(fù)制集群有一個(gè)統(tǒng)一的方式識(shí)別復(fù)制位置,給集群管理帶來了便利

GTID的限制

  1. 在一個(gè)事務(wù)里面混合使用引擎如Innodb,myisam,造成多個(gè)GTIDS

  2. CREATE TABLE…..SELECT 不能使用

  3. CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE 不能在事務(wù)內(nèi)使用

主從復(fù)制流程圖

Mysql中基于GTID的復(fù)制模式是什么
Mysql中基于GTID的復(fù)制模式是什么

GTID生命周期

  1. 當(dāng)一個(gè)事務(wù)在一個(gè)主庫上被執(zhí)行和提交,那么這個(gè)事務(wù)就會(huì)被分配一個(gè)和該主庫uuid相關(guān)聯(lián)的gtid,這個(gè)gtid被寫入到主庫的binlog文件中。

  2. 當(dāng)這個(gè)binlog文件達(dá)到最大值發(fā)生輪轉(zhuǎn),或者M(jìn)ySQL Server關(guān)閉時(shí),上一個(gè)binlog文件中的事務(wù)GTID將會(huì)被寫入到mysql.gtid_executed表中。

  3. 事務(wù)提交時(shí),該事務(wù)的gtid會(huì)很快的添加到系統(tǒng)變量@@GLOBAL.gtid_executed,但是系統(tǒng)表 mysql.gtid_executed 則不會(huì),應(yīng)為有部分gtid還在binlog中,需要等到binlog輪轉(zhuǎn)或者mysqlServer關(guān)閉時(shí)才會(huì)寫入到mysql。gtid_executed表中.

  4. 主庫上的binlog通過主從復(fù)制協(xié)議傳送到從庫,并寫入到從庫的relay log(中繼日志), 從庫讀取relay log中的gtid和對(duì)應(yīng)的事務(wù)信息,把gtid_next設(shè)置為該gtid值,使得從庫使用該gtid值應(yīng)用其對(duì)應(yīng)的事務(wù)

  5. 如果多個(gè)線程并發(fā)應(yīng)用同一個(gè)事務(wù),比如多個(gè)線程設(shè)置gtid_next為同一個(gè)值,MySQL Server 只允許其中一個(gè)線程執(zhí)行,gtid_owned系統(tǒng)變量記錄著誰擁有該GTID.

傳統(tǒng)更換GTID復(fù)制模式

  1. 配置GTID

  2. 所有服務(wù)器設(shè)置global.read_only參數(shù),等待主從服務(wù)器同步完畢;

    mysql> SET @@global.read_only = ON;
  3. 依次重啟主從服務(wù)器;

  4. 使用change master 更新主從配置;

    mysql> CHANGE MASTER TO
    MASTER_HOST = host,
    MASTER_PORT = port,
    MASTER_USER = user,
    MASTER_PASSWORD = password,
    MASTER_AUTO_POSITION = 1;

    5、開啟復(fù)制

    mysql> START SLAVE;

    6、驗(yàn)證主從復(fù)制

    mysql> show slave status \G

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Mysql中基于GTID的復(fù)制模式是什么”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


當(dāng)前題目:Mysql中基于GTID的復(fù)制模式是什么
URL標(biāo)題:http://weahome.cn/article/gsgssd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部