安裝準備
安裝包: mariadb-galera-10.0.15-linux-x86_64.tar.gz
測試環境
ip hostname 備注
192.168.1.111 test1 節點1
192.168.1.112 test2 節點2
192.168.1.113 test3 仲裁節點
1,關閉selinux:
将/etc/sysconfig/selinux 的selinux 設定成 disabled
2,修改或者關閉防火牆
修改防火牆:
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4567 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4568 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4569 -j ACCEPT
service iptables restart
關閉防火牆:
systemctl stop firewalld service iptables stop
安裝lsof (不裝可能無法啟動資料庫)
yum install -y lsof
3,安裝資料庫mariadb
下載下傳安裝包: mariadb-galera-10.0.15-linux-x86_64.tar.gz
解壓
tar zxf mariadb-galera-10.0.15-linux-x86_64.tar.gz
修改位址
mv mariadb-galera-10.0.15-linux-x86_64 /usr/local/mysql
建立mysql使用者
groupadd mysql
useradd -g mysql mysql
chmod mysql:mysql -Rf /usr/local/mysql
chmod +x -Rf /usr/local/mysql
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
初始化資料庫
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加mysql到開機啟動
chkconfig mysql on
啟動mysql
service mysqld start
設定mysql指令
vi /etc/profile
添加 export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
設定mysql密碼
mysqladmin -u root passwd '123456'
實用root登入
mysql -uroot -p123456
4,搭建galera叢集
注:mariadb-galera-10.0.15-linux-x86_64.tar.gz裡面已經有了galera插件,也可以下載下傳安裝galera安裝,叢集中的軟體版本必須保持一緻
先啟動111,再啟動112,最後加入仲裁(啟動順序不同,wsrep.cnf檔案中wsrep_cluster_address的配置略有不同)
安裝galera
yum install -y galera
查找wsrep.cnf 檔案
find / -name wsrep.cnf
結果:
find : .... /usr/local/mysql/support-files/wsrep.cnf
複制這個檔案到etc/下
cp /usr/local/mysql/support-files/wsrep.cnf /etc/my.cnf.d/
修改配置檔案
vi /etc/my.cnf.d/wsrep.cnf
wsrep_cluster_name="my_wsrep_cluster"
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://
#第一個節點啟動,上面位址為空,後面節點加入叢集,gcomm後面要加上叢集的ip位址,非預設的4567端口時,位址格式為ip:port
#wsrep_cluster_address=gcomm://192.168.1.112
wsrep_node_name='localhost'
wsrep_node_address=192.168.1.111
wsrep_sst_method=rsync
修改/etc/my.cnf
vim /etc/my.cnf
添加語句 !includedir /etc/my.cnf.d/
注釋掉語句 #binlog_format=mixed
server-id = 1
配置112中的galera,server-id為2,修改節點位址和叢集gcomm位址
wsrep_cluster_address=gcomm://192.168.1.111
wsrep_node_address=192.168.1.112
server-id = 2
5,設定資料庫的通路賬号和權限
mysql -u root -p123456
>grant all privileges on *.* to 'root'@'localhost' identified by '123456';
>grant all privileges on *.* to 'root'@'%' identified by '123456';
>flush privileges;
修改wsrep.cnf檔案相應部分
vim /etc/my.cnf.d/wsrep.cnf
wsrep_sst_auth=root:
6,啟動叢集
先啟動111,再啟動112,最後加入113仲裁節點
在111和112上先後執行 service mysqld start
在113仲裁上執行
(啟動仲裁節點時候,可能遇到缺少libssl.so.6檔案,需要用ln添加軟連接配接)
garbd -a "gcomm://192.168.1.111:4567,192.168.1.112:4567 -g my_wsrep_cluster -d
修改仲裁節點的監聽端口,防止與資料庫沖突
garbd -a "gcomm://192.168.1.111:4567,192.168.1.112:4567?gmcast.listen_addr=tcp://0.0.0.0:4569&pc.wait_prim=no" -g my_wsrep_cluster -d
113執行指令後,用ps -ef|grep garbd 檢視程序
7,檢視叢集狀态
在111和112上檢視資料庫中狀态
>show status like 'wsrep%';
檢視wsrep_incoming_addresses 192.168.1.111:3306,192.168.1.112:3306,
wsrep_cluster_size 3
完成叢集
本文轉自super李導51CTO部落格,原文連結:http://blog.51cto.com/superleedo/1935000 ,如需轉載請自行聯系原作者