centos7部署mariadb-10.3 galera cluster集群

本人在阿里云ECS云主机上配置,cpu核数2 内存2G 带宽1M,3台阿里云主机所在的安全组要开放全部协议的所有端口(针对mariadb-galera-cluster集群中同步用到的端口来开放比较麻烦,涉及端口TCP 3306 4567 4568,4444,由于一些端口用的是tcp协议,一些端口用的UDP协议,所以建议这后面三个端口把tcp,udp都开放,如果你嫌麻烦,就索性开放所有协议所有端口)。

1.ssh链接到三台云主机后,关闭SELinux(阿里云主机默认是已经关闭的),通过配置文件来关闭,关闭防火墙,默认开启不启用。

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl stop firewalld.service
systemctl disable firewalld.service
yum clean all

 2.对三台云主机的/etc/hosts文件进行修改

cat >>/etc/hosts <

在node1节点上测试ping

ping -c 3 node2
ping -c 3 node3

3.三节点都配置mariadb的国内yum源仓库,并安装软件包.

cat >/etc/yum.repos.d/mariadb.repo <

安装软件包:

yum clean all
yum makecache
yum install -y MariaDB-server MariaDB-client galera
rpm -qa | grep MariaDB*

4.mariadb初始化三台节点(通过mysql-secure_installation命令配置密码)

systemctl start mariadb
mysql_secure_installation(设置root密码为liujia)
mysql -uroot -pliujia
grant all privileges on *.* to root@"%" identified by "liujia";
grant all privileges on *.* to sst_user@"%" identified by "liujia";
flush privileges;
exit
systemctl stop mariadb  (三台节点都stop)

5.配置galera

node1节点配置galera添加如下配置

cat >>/etc/my.cnf.d/service.cnf <

node2节点配置galera添加如下配置

cat >>/etc/my.cnf.d/service.cnf <

node3节点配置galera添加如下配置

cat >>/etc/my.cnf.d/service.cnf <

6.启动集群服务

在node1节点上执行:galera_new_cluster
在node2、node3上依次执行:service mysql start
初次启动要等大概15分钟,(我理解的是因为要做SST全量备份)

(20分钟后查看3306端口和4567端口是否起来)
netstat -lntp

 7.验证集群状态

进入node1

mysql -uroot -pcntsp
show status like 'wsrep_ready';
show status like 'wsrep_cluster_size';
show status like 'wsrep%';
在node1上创建数据库,看看node2 node3是否同步(已经验证过了)
create database test1;

8.异常处理死锁之后重建集群

killall mysqld (强制停止mysql)  node1,node2,node3
rm -rf galera.cache  node1,node2,node3  分别单独删除重启,
rm -rf grastate.dat
service mysql start --wsrep-new-cluster 或者galera_new_cluster  #node1上执行

service mysql start                      #node2上执行

service mysql start                      #node3上执行


第一节点:
service mysql start --wsrep-new-cluster

其它节点:
service mysql start

show status like 'wsrep_%';

show status like "wsrep_cluster_size";

show processlist ;

停止服务删除galera.cache  grastate.dat  service mysql start --wsrep-new-cluster 带初始化参数是重建了新集群,其他几台也要删除那两个文件重启数据库,service mysql start 不带参数,还是用的之前的集群uuid不会变,

你可能感兴趣的:(mysql,linux)