天天看點

mysql借助Galera Cluster建構多主叢集

首先安裝帶有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:

&gt; CREATE DATABASE mydb;

在節點2:

<a href="http://s3.51cto.com/wyfs02/M02/82/92/wKiom1da4tjS_JDnAAAiZEvNlXI819.png" target="_blank"></a>

已經複制到了在節點1建立的mydb庫;

&gt; use mydb;

&gt; 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,如需轉載請自行聯系原作者