溫馨提示×

溫馨提示×

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

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

MySQL基于GTID復制的設(shè)置方法

發(fā)布時間:2020-05-29 14:21:55 來源:網(wǎng)絡(luò) 閱讀:174 作者:三月 欄目:MySQL數(shù)據(jù)庫

下文給大家?guī)碛嘘P(guān)MySQL基于GTID復制的設(shè)置方法內(nèi)容,相信大家一定看過類似的文章。我們給大家?guī)淼挠泻尾煌??一起來看看正文部分吧,相信看完MySQL基于GTID復制的設(shè)置方法你一定會有所收獲。

GTID的概念

GTID(全名 global transaction identifier)是事務(wù)的唯一標識符。格式如下:
GTID = source_id:transaction_id
source_id:標識了源云服務(wù)器,通常是云服務(wù)器的server_uuid
transaction_id:按照云服務(wù)器上提交的事務(wù)順序進行排序的序列號。
例如:

60f9111a-cdba-11e7-b354-005056a30507:1

在配置文件中添加以下信息來啟用GTID模式

[mysqld]
gtid_mode=ON

啟用GTID模式后,可以通過以下語句查看已執(zhí)行的GTID集合.

mysql>show master status
MySQL基于GTID復制的設(shè)置方法

GTID在復制中的應(yīng)用

  • 在主庫中:當事務(wù)在主庫上執(zhí)行提交時,這個事務(wù)就會被分配一個GTID,GTID在事務(wù)寫入到主庫的二進制日志之前寫入到日志中。
  • 從庫獲取主庫的二進制日志并將其存儲在從庫的中繼日志中(relay log)。從庫讀取GTID并將gtid_next的值設(shè)置為這個GTID。這告訴從庫,下一個事務(wù)必須使用這個GTID記錄。
  • 從庫驗證GTID是否已經(jīng)在它自己的二進制日志中使用。如果沒有使用,從庫會寫入GTID,應(yīng)用事務(wù),并將事務(wù)記錄到從庫的二進制日志中。
  • 由于gtid_next是非空的,所以從庫不會為事務(wù)生成新的GTID,而是使用從主庫那里獲取到的GTID

設(shè)置基于GTID的復制

和普通的復制差別不大,只是需要主庫和從庫都開啟gitd_mode和enforce-gitd-consistency。如果從庫是5.6版本的,還需要在在主庫和從庫上額外開啟--log-bin和--log-slave-updates。(無論什么版本,主庫都必須開啟log-bin)
這是由于在MySQL5.7.5之后,GTIDs在mysql系統(tǒng)庫的gtid_executed表中進行存儲。

  1. 修改配置文件并重啟數(shù)據(jù)庫
    在my.cnf中添加以下內(nèi)容

    [mysqld]
    gtid_mode=ON
    enforce-gtid-consistency
    log-bin
    log-slave-updates=1

  2. 在主庫上創(chuàng)建復制使用的賬號

    create user 'repl'@'hostname';
    grant REPLICATION SLAVE ON *.* TO 'repl'@'hostname';

  3. 同步主庫和從庫的數(shù)據(jù)(如果需要)
    使用mysqldump或者其他工具同步數(shù)據(jù)
  4. 在從庫上設(shè)置基于GTIDs的復制,使用如下語句

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

  5. 檢查復制狀態(tài)

    mysql> show salve status\G

  6. 對于上文關(guān)于MySQL基于GTID復制的設(shè)置方法,大家覺得是自己想要的嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

向AI問一下細節(jié)

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

AI