首先安裝帶有Galera Cluster功能的MariaDB版本的程式包:
Galera Cluster實作的複制與mysql傳統的複制實作方式不同,傳統複制都是通過讀取mysql的二進制日志中的事務然後在本地重放實作資料複制的,而Galera Cluster則不需要,它是通過wsrep協定直接從底層複制資料到其它各節點上完成資料複制的。
實驗至少需要3台mysql伺服器,本次使用的是官方提供的yum源:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
實驗環境:實體機win7,虛拟機3台centos7;
node1:192.168.255.2
node2:192.168.255.3
node3:192.168.255.4
分别在各節點安裝MariaDB-Galera-server
]# yum -y install MariaDB-Galera-server
]# rpm -ql galera |grep 'libgalera'
/usr/lib64/galera/libgalera_smm.so
記錄此路徑,在配置galera時會用到;
配置節點1:
]# vim /etc/my.cnf.d/server.cnf
<a href="http://s1.51cto.com/wyfs02/M02/82/92/wKiom1da4HDBYMTQAAA4Dlw6eTc901.png" target="_blank"></a>
把該配置檔案複制到另外兩個節點上:
]# scp /etc/my.cnf.d/server.cnf node2:/etc/my.cnf.d/
]# scp /etc/my.cnf.d/server.cnf node3:/etc/my.cnf.d/
初始化啟動資料庫:在其中任意節點執行均可;
<a href="http://s5.51cto.com/wyfs02/M02/82/90/wKioL1da4qHRy-71AAAOgkwbTwI924.png" target="_blank"></a>
在節點2,3上正常啟動mysql
<a href="http://s3.51cto.com/wyfs02/M00/82/90/wKioL1da4xWiiYCQAAAQl0IISI8718.png" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/82/92/wKiom1da4kOx43VYAAAPPYRZhAY248.png" target="_blank"></a>
以上Galera Cluster配置完成;下面驗證各節點複制;
在節點1:
> CREATE DATABASE mydb;
在節點2:
<a href="http://s3.51cto.com/wyfs02/M02/82/92/wKiom1da4tjS_JDnAAAiZEvNlXI819.png" target="_blank"></a>
已經複制到了在節點1建立的mydb庫;
> use mydb;
> CREATE TABLE tb1 (id int,name char(10));
在節點3:
<a href="http://s5.51cto.com/wyfs02/M00/82/90/wKioL1da5FrTJLGIAAAto907RfY703.png" target="_blank"></a>
以上實作了基于wsrep協定的Galera Cluster的mysql多主複制功能;
本文轉自 crystaleone 51CTO部落格,原文連結:http://blog.51cto.com/linsj/1787844,如需轉載請自行聯系原作者