天天看點

配置基于GTIDs的replication

什麼是GTIDs ?

global transaction identifiers  mysql 5.6.5新加的一項技術

GTIDs是完全基于事務的,是以不支援MYISAM存儲引擎(相容性不好)

添加新的slave或者當發生故障轉移需要将master身份遷移到slave時,無需考慮是那一個二進制日志以及那一個position

GTID 由source_UUID transaction_id兩部分組成

source_id 來源于server_id,可以再aoto.cnf中看到

transaction_id 是一個序列數字,從小到大自動生成  123

<code>server_uuid</code>

<code>[auto]</code>

<code>server-uuid=9d0f0069-9d66-11e4-8a94-000c292cfb85</code>

使用GTIDs的一些限制條件

1,不支援MYISAM。導緻多個GTID配置設定給同一個事務

2,create table 。。。。select語句不支援

3,create/DROP temporary table 語句不支援

4,必須使用enforce-gtid-consistency參數 強制GTID一緻

5,sql-slave-skip-counter不支援     配置replication時候,可以使用此參數跳過一些錯誤。在GDIT模式不支援

6,在mysql5.6.9之後的版本導入使用mysqldump制作的備份時,需要保證二進制日志不包含GTIDs  

7,mysql5.6.7之前,使用mysql_upgrade指令會出現問題

配置基于GTIDs的replication

配置GTID的replication需要binlog的format=row

step1:

将master和slave伺服器設定為read_only

<code>set</code> <code>global</code> <code>read_only=</code><code>ON</code><code>;</code>

step2:停止master和slave伺服器的mysql

 service mysqld stop

step3:開啟GTIDs

開啟GTID需要在兩台機器上都配置

<code>gtid-mode=</code><code>on</code>

<code>log-bin</code>

<code>log-slave-updates</code>

<code>enforce-gtid-consistency</code>

<code>另外,slave在這個環節還需要增加skip-slave-start參數 ,( 先不啟動slave,還需要其他配置)</code>

<code>serveice mysqld  start;</code>

step4:

<code>change master </code><code>to</code>

<code>  </code><code>master_host=</code><code>'192.168.20.238'</code><code>,</code>

<code>  </code><code>master_user=</code><code>'repl'</code><code>,</code>

<code>  </code><code>master_password=</code><code>'123456'</code><code>,</code>

<code>  </code><code>master_auto_position=1;</code>

<code>start slave;</code>

<code>show slave status\G;</code>

顯示Auto_Position: 1 說明已經運作在GTIDs的模式下了 。

接下來更新master 

<code>show slave status\G;</code>

<code> </code><code>Retrieved_Gtid_Set: 61816754-9d68-11e4-8a9f-000c29c1d1ea:1-8</code>

<code>  </code><code>Executed_Gtid_Set: 61816754-9d68-11e4-8a9f-000c29c1d1ea:1-8</code>

相同表示和master資料完全一緻

如果需要切換 ,隻需将slave指向新的master、

(change master to .....................................)

      本文轉自crazy_charles 51CTO部落格,原文連結:http://blog.51cto.com/douya/1606169,如需轉載請自行聯系原作者