【MySQL】之MySQL5.7版本集群Galera部署—添加新节点

本文详细介绍了在MySQL5.7版本的Galera集群中添加新节点的步骤,包括新节点环境部署、安装部署新节点及集群数据测试。新节点的添加旨在分担集群压力,实现多写环境和读写分离。内容涵盖系统初始化、配置YUM源、安装数据库服务、创建数据同步用户、配置文件、启动服务、检查集群状态以及验证数据同步一致性。
摘要由CSDN通过智能技术生成

【MySQL】之MySQL5.7版本集群Galera部署—添加新节点

目录

【MySQL】之MySQL5.7版本集群Galera部署—添加新节点

项目需求:

一、新节点环境部署

1、新节点系统初始化

2、配置软件所需要的YUM源

3、安装数据库服务和集群软件包

二、安装部署新节点

2、创建数据同步用户

3、准备好配置文件。

4、启动服务并加入集群

5、检查服务进程和监听端口

6、查看集群状态

7、查看数据同步

三、集群数据测试

测试集群数据同步,插入数据、删除数据和修改数据,其他节点查询,数据是否一致。


项目需求:

根据企业项目和业务需求,随着业务的增长,现有的Galere数据库集群压力较大,需要新添加一台节点作为分支,可以实现对数据业务的读写操作。

1、分担集群压力,实现异地数据库的多写环境要求。

2、可实现数据库的多主架构的读写分离。

3、现有集群中的服务器节点故障,不能继续提供服务,需要新添加一台节点,维持现有集群节点的业务需求。


一、新节点环境部署

根据业务需要添加新节点到集群时,需要对新的节点做系统初始配置。如操作系统,设置RAID、关闭CPU节点,关闭内存最大页等。Galera部署的架构和环境部署参考《【MySQL】之MySQL5.7版本集群Galera部署https://mp.csdn.net/console/editor/html/109219150》。

Galera集群
主机名 地址 端口 数据目录 配置文件
manager 172.21.209.122 3306 /var/lib/mysql
 
 /etc/my.cnf
mysql01 172.21.209.123 3306 /var/lib/mysql
 
/etc/my.cnf
mysql02 172.21.209.124 3306 /var/lib/mysql
 
 /etc/my.cnf
mysql03 172.21.209.125 3306 /var/lib/mysql
 
 /etc/my.cnf

1、新节点系统初始化

操作系统内部初始化配置,如关闭防火墙,配置SSH服务端口、关闭SeLinux、配置主机名和网卡配置文件等。

关闭防火墙和selinux,如果是多物理服务器,需要在每一台执行操作。
systemctl disable firewalld 
systemctl stop firewalld
sed -ri '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
setenforce 0

查看配置主机解析
[root@mysql03 ~]#  cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.21.209.122 manager
172.21.209.123 mysql01
172.21.209.124 mysql02
172.21.209.125 mysql03

网卡配置文件
[root@mysql03 ~]#  cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
#UUID=bccb7fa9-d980-451e-9237-2fe39de797dd
DEVICE=ens33
ONBOOT=yes
IPADDR=172.21.209.125
NETMASK=255.255.255.0
GATEWAY=172.21.209.254
DNS1=114.114.114.114
DNS2=8.8.8.8  

2、配置软件所需要的YUM源

配置yum源
cat >>/etc/yum.repos.d/galera.repo<<EOF
[galera1]
name=galera1
baseurl=http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/
gpgcheck=0
[galera2]
name=galera2
baseurl=http://releases.galeracluster.com/galera-3/centos/7/x86_64/
gpgcheck=0
EOF

3、安装数据库服务和集群软件包

确认安装有gcc和gcc-c++
[root@mysql03 ~]# yum install gcc gcc-c++

确认安装有boost-devel
[root@mysql03 ~]# yum install boost-devel

安装scons check-devel openssl-devel
[root@mysql03 ~]# yum install scons check-devel openssl-devel

二、安装部署新节点

官网地址,下载对应的版本手动安装。
https://galeracluster.com/downloads/

本案例是通过yum安装部署,因在之前配置了yum源。安装mysql的galera插件
[root@mysql03 ~]#  yum repolist
[root@mysql03 ~]#  yum list | egrep "wsrep|galera"
[root@mysql03 ~]#  yum -y install mysql-wsrep-server-5.7.x86_64  rsync galera-3.x86_64 -y

安装完成后检查,所有的节点上都有。
[root@mysql03 ~]#   yum list | grep 'galera'
mysql-wsrep-5.7.x86_64                      5.7.31-25.23.el7           @galera  
mysql-wsrep-client-5.7.x86_64               5.7.31-25.23.el7           @galera  
mysql-wsrep-common-5.7.x86_64               5.7.31-25.23.el7           @galera  
mysql-wsrep-libs-5.7.x86_64                 5.7.31-25.23.el7           @galera  
mysql-wsrep-libs-compat-5.7.x86_64          5.7.31-25.23.el7           @galera  
mysql-wsrep-server-5.7.x86_64               5.7.31-25.23.el7           @galera  
galera-3.x86_64                             25.3.31-1.el7              galera2  
mysql-wsrep-devel-5.7.x86_64                5.7.31-25.23.el7           galera1  
mysql-wsrep-test-5.7.x86_64                 5.7.31-25.23.el7           galera1  

2、创建数据同步用户

172.21.209.125实例:

启动数据库
[root@mysql03 ~]#  ps -ef|grep mysqld
root      52682  51654  0 17:28 pts/1    00:00:00 grep --color=auto mysqld
[root@mysql03 ~]#  systemctl restart mysqld

创建数据同步用户
mysql> grant all on *.* to 'copy'@'%' identified by '3edc$RFV';
Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> grant all on *.* to 'root'@'%' identified by '3edc$RFV';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> select host,user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | copy          |
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
5 rows in set (0.00 sec)

或使用如下命令:
mysql -uroot -p3edc$RFV -e "grant all on *.* to 'copy'@'%' identified by 'copy@123';"
mysql -uroot -p3edc$RFV -e "flush privileges;"
mysql -uroot -p3edc$RFV -e "select host,user from mysql.user;"

关闭数据库服务
[root@mysql03 ~]# systemctl stop mysqld

3、准备好配置文件。

配置文件 
 cat>> /etc/my.cnf<<EOF

[mysqld]
#mysql base settings
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid
user=mysql
symbolic-links=0

skip-name-resolve

#mysql settings
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0

#galera settings
wsrep_on=ON
#wsrep_provider=/usr/lib/galera/libgalera_smm.so
#注意:查找wsrep提供者的路径:find / -type f -name libgalera_smm.so
#/usr/lib64/galera-3/libgalera_smm.so

wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_cluster_name="wsrep_cluster"
wsrep_cluster_address="gcomm://172.21.209.122,172.21.209.123,172.21.209.124.172.21.209.125"
wsrep_node_address="172.21.209.125"
wsrep_node_name="mysql03"
wsrep_sst_method=rsync

server-id=4
binlog_format=row
default_storage_engine=InnoDB 
innodb_file_per_table=1       
innodb_autoinc_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值