1. 程式人生 > >Mariadb10 galera叢集配置

Mariadb10 galera叢集配置

由於專案需要做冗餘備份,同時瞭解mariadb10自帶了galera叢集功能於是測試,環境Centos7+mariadb10.1

一、安裝mariadb

1、yum安裝很簡單 yum install -y mariadb-server,如何直接安裝將會預設安裝mariadb 5.5,如果需要安裝mariadb10需要另外配置MariaDB.repo:

# MariaDB 10.1 CentOS repository list - created 2016-12-01 03:36 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

這是官方yum源,非常之慢,若要節省時間最好配置國內yum源。

[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.1/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

2、啟動systemctl start mariadb 若可正常啟動則說明安裝無問題。

二、配置叢集

1、修改配置檔案/etc/my.cnf

其中關於galera的配置如下:

[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.3.100,192.168.3.201"
wsrep_sst_auth=tt:tt123
binlog_format=row
wsrep_node_address=192.168.3.201
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=2G
#
# Allow server to accept connections on all interfaces.
#
bind-address=0.0.0.0

2、將配置複製到其他節點.

3、初始化有資料的節點: 

 /usr/sbin/mysqld   --user=mysql  --wsrep-new-cluster  > mysql.log 2>&1

4、啟動其他節點若能正常啟動加入叢集則配置成功,後面只需要systemctl start  mysqld即可

5、檢視叢集狀態:

SHOW STATUS LIKE 'wsrep%';

若顯示叢集的格式與配置個數一致,則說明所有節點均加入叢集。

三、問題總結。

1、多網絡卡最後配置:wsrep_node_address=192.168.3.100,不然加入不成功

2、第一個主節點出現:[EEROR] WSREP: Failed to flush and lock tables,從字面意思看可以猜到是由於資料庫一直有操作,不能鎖表進行同步,關閉所有操作程式後同步正常。