MariaDB Galera Cluster集群配置

集群环境介绍:

注释:通常在使用MariaDB的过程中,也不难实现一种Multi-Master架构,但是一般需要上层应用来配合,比如先要约定每个表必须有自增列,并且如果是2个节点的情况,一个节点只能写偶数值,而另一个节点只能写奇数值,同时2个节点之间互相做复制,因为2个节点写入的东西不同,所以复制不会冲突,在这种约定之下,可以基本实现多Master架构,也可以保证数据的完整性与一致性。但这种方式使用起来还是有限制,同时还会出现复制延迟,且不具有扩展性,不是真正意义上的集群。

网络拓扑图:

注释:这里因为同时做了MariaDBMySQL的高可用集群测试、MariaDB集群只用看左边MariaDB Galera Cluster的拓扑就可以了。

宿主机CentOS版本信息:

基础工具安装:

yum -y install wget vim ntp net-tools tree openssh

关闭seLinux和防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd –state
sed -i ‘/^SELINUX=.*/c SELINUX=disabled’ /etc/selinux/config
sed -i ‘s/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g’ /etc/selinux/config
grep –color=auto ‘^SELINUX’ /etc/selinux/config
setenforce 0

配置网卡信息(修改网卡信息之前一定要先执行以下yum update让系统同步yum源、要不然你懂得)

配置hostname:

修改时区:

timedatectl list-timezones          # 列出所有时区,

timedatectl set-local-rtc 1          # 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间

timedatectl set-timezone Asia/Shanghai           # 设置系统时区为上海

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime           # 系统底层修改时区

升级、重启:

yum update -y  && reboot

三台主机加入/etc/hosts使节点之间可以互相解析:

设置MariaDBYum源并安装(所有节点):

执行安装命令:

yum install MariaDB-server MariaDB-client galera  -y

安装完成之后初始化MariaDB:

systemctl start mariadb

mysql_secure_installation (按提示设置mysql密码)

systemctl stop mariadb

授权root用户可以远程访问数据库:

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’IDENTIFIED BY ‘980430’ WITH GRANT OPTION;

root是登陆数据库的用户,980430是登陆数据库的密码,*就是意味着任何来源任何主机。

配置好权限之后,刷新使之生效:

配置命令:

flush privileges;

再次远程访问数据库就可以了。

配置Galera:

MariaDBA节点配置文件    /etc/my.cnf.d/server.cnf

注释:将此文件复制到MariaDBBMariaDBC,注意要把 wsrep_node_name 和 wsrep_node_address 改成相应节点的 hostname 和 ip。

引导集群创建(启动之前一定要保证所有节点的MariaDB处于stop状态)

/usr/sbin/mysqld –wsrep-new-cluster –user=root &

查看集群状态:

启动其他节点的MariaDB(服务正常节点会自动添加进集群):

 systemctl start mariadb

升级、重启:

推荐文章

发表评论

邮箱地址不会被公开。 必填项已用*标注