MySQL與MariaDB 新型主從叢集配置GTID
前面寫了《MySQL與MariaDB 傳統主從叢集配置》,該技術已經非常成熟。從Mysql5.6和MariaDB10.0開始,有了新型的主從方案GTID,不過這兩個系統到這個版本出現了分支,具體實現已經不同,配置方法也不同,下文分別講述。
MariaDB:
我用的版本還是10.1版,目前該版本還不是穩定版,但不影響測試。先部署好兩個資料庫執行個體,參見
直到建立好複製使用者。
我們這裡的由於是新建立的資料庫,因此先重設下主庫的狀態,此操作不是必須,如果後面發現同步sql執行失敗,可執行這行跳過失敗的sql。
MariaDB [mysql]> reset master;
這時可以發現舊的bin-log都已刪除,已經只剩下一個新建立的記錄檔。
然後執行下面的語句,注意後面 master_use_gtid=current_pos 這行跟傳統模式不同。
MariaDB [mysql]> change master to
master_host='localhost',
master_port=10001,
master_user='rep',
master_password='123456',
master_use_gtid=current_pos;
Query OK, 0 rows affected (0.36 sec)
MariaDB [mysql]> start slave;
Query OK, 0 rows affected (0.18 sec)
MariaDB [mysql]> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: rep
Master_Port: 10001
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 313
Relay_Log_File: lyw-hp-relay-bin.000002
Relay_Log_Pos: 601
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
。。。。。。
Using_Gtid: Current_Pos
後面比傳統的主從方式多了一行內容 Using_Gtid: Current_Pos,說明使用了新的主從方式。
設定好後,同樣需要跟測試下,對主庫的修改是否影響到從庫的內容。
Mysql:
Mysql5.6版本開始支援GTID複製方式,其配置方式跟MariaDB不同,需要先在設定檔裡修改相關配置。新增內容如下
[mysqld]
gtid-mode = on
log-slave-updates = true
enforce-gtid-consistency= true
然後啟動這兩個資料庫。同樣需要配置相應的同步處理的使用者。
然後在從庫執行下面的命令,注意最後這行 master_auto_position=1 跟 MariaDB的不同。
mysql> change master to
master_host='localhost',
master_port=20001,
master_user='rep',
master_password='123456',
master_auto_position=1;
mysql> start slave;
mysql> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: rep
Master_Port: 20001
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 850
Relay_Log_File: lyw-hp-relay-bin.000002
Relay_Log_Pos: 1060
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
。。。。。。
Retrieved_Gtid_Set: a34819a9-700f-11e5-a841-34238703623c:1-3
Executed_Gtid_Set: a34819a9-700f-11e5-a841-34238703623c:1-3
可見最後增加了兩行跟GTID相關的狀態,Retrieved_Gtid_Set,Executed_Gtid_Set,說明採用了GTID這種新型同步方式。
用同樣的方法,一個主要資料庫後面可以跟多個從資料庫,增加資料的可靠性和讀的輸送量。
以上主從配置是最基本配置,線上上使用還不夠,主掛了後,並不會自動進行切換,請關注。
MySQL分區高可用叢集之Cobar部署使用
MySQL分區高可用叢集之Fabric部署使用
--------------------------------------分割線 --------------------------------------
Linux系統教程:如何檢查MariaDB服務端版本
MariaDB Proxy讀寫分離的實現
Linux下編譯安裝配置MariaDB資料庫的方法
CentOS系統使用yum安裝MariaDB資料庫
安裝MariaDB與MySQL並存
Ubuntu 上如何將 MySQL 5.5 資料庫遷移到 MariaDB 10
[翻譯]Ubuntu 14.04 (Trusty) Server 安裝 MariaDB