作者:吴业亮
博客:https://wuyeliang.blog.csdn.net/
一、配置源
1、安装yum源
# yum -y install centos-release-scl-rh centos-release-scl
2、启用[priority=10]
# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo
# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo
# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
二、安装数据库软件包
1、安装rpm包
# yum --enablerepo=centos-sclo-rh -y install rh-mariadb101-mariadb-server-galera
2、配置防火墙
# firewall-cmd --add-service=mysql --permanent
# firewall-cmd --add-port={3306/tcp,4567/tcp,4568/tcp,4444/tcp} --permanent
# firewall-cmd --reload
三、配置第一个节点
1、备份配置文件
# mv /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf.org
2、修改配置文件/etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/opt/rh/rh-mariadb101/root/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name="MariaDB_Cluster"
wsrep_node_address="172.16.100.31"
wsrep_sst_method=rsync
3、启动Galera Cluster
# /opt/rh/rh-mariadb101/root/usr/bin/galera_new_cluster
# cp -a /opt/rh/rh-mariadb101/root/usr/bin/mysql_secure_installation /usr/bin/
# cp -a /opt/rh/rh-mariadb101/root/usr/bin/mysql /usr/bin/
4、初始化数据库
# mysql_secure_installation
四、配置其他节点
1、备份源文件
# mv /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf /etc/opt/rh/rh-mariadb101/my.cnf.d/galera.cnf.org
2、修改配置文件/etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/opt/rh/rh-mariadb101/root/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://172.16.100.31,172.16.100.51"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name="MariaDB_Cluster"
wsrep_node_address="172.16.100.51"
wsrep_sst_method=rsync
3、启动数据库,自动加入集群中。
# systemctl start rh-mariadb101-mariadb
4、查看状态
MariaDB [(none)]> show status like 'wsrep_%';
五、配置监控
1、拷贝文件
# cp -a /opt/rh/rh-mariadb101/root/usr/bin/clustercheck /usr/bin/
2、赋予权限
# chmod +x /usr/bin/clustercheck
3、创建个脚本检查数据库集群的状态
# cat /etc/xinetd.d/mysqlchk
# default: on
# description: mysqlchk
service mysqlchk
{
disable = no
flags = REUSE
socket_type = stream
port = 9200 # This port used by xinetd for clustercheck
wait = no
user = nobody
server = /usr/bin/clustercheck
log_on_failure += USERID
only_from = 0.0.0.0/0
per_source = UNLIMITED
}
5、修改 /etc/services,注释wa-wsp两行,新增myslchk行
mysqlchk 9200/tcp # mysqlchk
6、安装xinetd
# yum install -y xinetd -y
7、启动xinetd服务
# systemctl start xinetd
# chkconfig xinetd on
8、登录数据库创建’clustercheckuser’用户(任意节点)
# mysql -u root -p
> GRANT PROCESS ON *.* TO 'clustercheckuser'@'localhost' IDENTIFIED BY 'clustercheckpassword!' ;
> exit;
检查
MariaDB [(none)]> select host,user,password from mysql.user ;
9、检查测试脚本
/usr/bin/clustercheck
参考:
http://galeracluster.com/documentation-webpages/