Mariadb10 galera叢集配置
阿新 • • 發佈:2018-11-04
由於專案需要做冗餘備份,同時瞭解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,從字面意思看可以猜到是由於資料庫一直有操作,不能鎖表進行同步,關閉所有操作程式後同步正常。