Mariadb 集群 Galera Cluster 基于多主

                        Mariadb 集群 Galera Cluster 基于多主架构

一.准备安装环境
1.mariadb源码包版本mariadb-10.4.13-rhel-7-x86_64-rpms.tar
2.CentOS7.4/7.5版本的镜像,准备3台干净的linux系统机环境
3.确保三台系统环境都可以上外,关闭firewalld、永久关闭selinux服务
4.三台机器都执行如下命令,最后都重启使selinux配置生效
#systemctl stop firewalld.service
#systemctl disable firewalld.service
#sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
#reboot
安装相应的命令工具
#yum -y install bash-completion* vim* lrzsz* net-tools*
删除mysql相关的包,可能出现说没有这些,没关系继续往下执行
#rpm -e qt-mysql-4.6.2-25.el6.x86_64 mysql-libs-5.1.66-2.el6_3.x86_64 mysql-server-5.1.66-2.el6_3.x86_64 mysql-5.1.66-2.el6_3.x86_64 perl-DBD-MySQL-4.013-3.el6.x86_64 qt3-MySQL-3.3.8b-30.el6.x86_64 --nodeps
删除mysql相关的文件,如果有的话删除,先用find查找出是否还有与mysql相关的,有的话全部删掉
#find / -name mysql
#rm -f 加上所有查出来与mysql相关的文件都删掉
5.把软件包mariadb-10.4.13-rhel-7-x86_64-rpms.tar上传至三台系统里
6.第一台上执行如下操作
#yum -y install httpd createrepo p7zip
#mkdir /var/www/html/Mariadb/
#tar xf mariadb-10.4.13-rhel-7-x86_64-rpms.tar -C /var/www/html/Mariadb/
#cd /var/www/html/Mariadb/
#createrepo /var/www/html/Mariadb/
#systemctl start httpd
#ss -ntulp
此时打开浏览器输入你自己的ip地址后加上Mariadb检测我以我本人举例子,此处ip你要换成你自己的就行
例如: http://192.168.0.112/Mariadb/

其次,配置yum源
#cd /etc/yum.repos.d/
#ll -rhtn
#vim Mariadb.repo
[galera]
name=galera cluster
baseurl=file:///var/www/html/Mariadb/
gpgcheck=0

#yum repolist

第二、三台上都执行配置yum源
#vim /etc/yum.repos.d/Mariadb.repo
[galera]
name=galera cluster
baseurl=http://192.168.0.112/Mariadb/ #这里ip换成你自己第一台的ip地址
gpgcheck=0

#yum repolist

7.第一台机器都安装执行如下命令
#cd /var/www/html/Mariadb/mariadb-10.4.13-rhel-7-x86_64-rpms
#yum -y install *.rpm --skip-broken
第二、三台机器都安装执行如下命令
#tar xf mariadb-10.4.13-rhel-7-x86_64-rpms.tar
#cd mariadb-10.4.13-rhel-7-x86_64-rpms/
#yum -y install *.rpm --skip-broken

8.设置永久主机名
第一台上
#hostnamectl set-hostname mariadb-01
第二台上
#hostnamectl set-hostname mariadb-02
第三台上
#hostnamectl set-hostname mariadb-03

8.三台上都配置/etc/hosts文件
#vim /etc/hosts

192.168.0.112 mariadb-01 #这里你把ip和主机名改成你自己的一一对应
192.168.0.113 mariadb-02 #这里你把ip和主机名改成你自己的一一对应
192.168.0.114 mariadb-03 #这里你把ip和主机名改成你自己的一一对应

9.设置三台机器之间免密
第一台
#ssh-keygen -t rsa -P ‘’ (一路回车即可)
#ssh-copy-id mariadb-02
#ssh-copy-id mariadb-03

第二台
#ssh-keygen -t rsa -P ‘’ (一路回车即可)
#ssh-copy-id mariadb-01
#ssh-copy-id mariadb-03

第三台
#ssh-keygen -t rsa -P ‘’ (一路回车即可)
#ssh-copy-id mariadb-02
#ssh-copy-id mariadb-01

10.配置Galera配置文件
第一台
#vim /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
wsrep_cluster_name=“mycluster”
wsrep_cluster_address=“gcomm://192.168.0.112,192.168.0.113,192.168.0.114”
wsrep_node_name=‘mariadb-01’
wsrep_node_address=‘192.168.0.112’
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0

第二台
#vim /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
wsrep_cluster_name=“mycluster”
wsrep_cluster_address=“gcomm://192.168.0.112,192.168.0.113,192.168.0.114”
wsrep_node_name=‘mariadb-02’
wsrep_node_address=‘192.168.0.113’
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0

第三台
#vim /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
wsrep_cluster_name=“mycluster”
wsrep_cluster_address=“gcomm://192.168.0.112,192.168.0.113,192.168.0.114”
wsrep_node_name=‘mariadb-03’
wsrep_node_address=‘192.168.0.114’
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0

11.在第一台启动集群执行如下命令
#cd /bin/
#./galera_new_cluster
#ss -ntulp #查看端口有4567证明集群启动

12.第二、三台上都执行如下命令
#systemctl start mariadb
#systemctl enable mariadb
#systemctl status mariadb

13.三台上都执行
#mysql_secure_installation
有要确认(Y/n)选择y
要求输入密码的输入:111111 (此处我以111111举例子)

14.以上配置完成了,接下来进行检测即可。
在第一台上
#mysql -uroot -p111111

show databases;
create datebase testdb;
use testdb;
source 加上你的 *.sql 的绝对路径;
第二三台上验证
#mysql -uroot -p111111
show databases;
use testdb;
show tables;
show status like ‘wsrep%’;
desc 随便一个表名字; #查看表结构

15.以上一切完成,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值