热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

基于Mariadb10.6.4在CentOS7环境下配置GaleraCluster集群

本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:基于Mariadb10.6.4在CentOS7环境下配置GaleraCluster集群;本文不再更新,可能存在内容过时的

本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:基于Mariadb 10.6.4在CentOS 7环境下配置Galera Cluster集群;



本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:基于Mariadb 10.6.4在CentOS 7环境下配置Galera Cluster集群;



本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:基于Mariadb 10.6.4在CentOS 7环境下配置Galera Cluster集群;


这篇文章主要内容是MariaDB Galera Cluster集群搭建过程,至于这个集群的工作原理、优缺点比较,不在这里讨论。

环境信息:



  • CentOS Linux release 7.9.2009 (Core);

  • mariadb-10.6.4;

集群搭建,至少3台机器,信息如下:























IP地址节点名称
10.200.67.27MariaDB-Node1
10.200.67.29MariaDB-Node2
10.200.67.26MariaDB-Node3

需要安装的组件:MariaDB-serverMariaDB-client。从MariaDB版本10.1开始,MariaDB ServerMariaDB Galera Server安装包已经合并了。安装MariaDB-server会自动安装Galera及其依赖。

具体步骤如下:


一、仓库配置

执行下面命令配置mariadb仓库:

[xiaofang@sd-vm-0004432 ~]$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
[info] Checking for script prerequisites.
[info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
[info] Adding trusted package signing keys...
/etc/pki/rpm-gpg /home/xiaofang
/home/xiaofang
[info] Successfully added trusted package signing keys
[info] Cleaning package cache...
Loaded plugins: fastestmirror
Cleaning repos: base extras mariadb mariadb-main mariadb-maxscale mariadb-tools updates
Cleaning up list of fastest mirrors

然后,将上述步骤,在其余两台机器上照着执行一遍。


二、下载安装包并安装

安装包的下载地址:https://archive.mariadb.org/mariadb-10.6.4/yum/centos7-amd64/rpms/ 。


2.1 依赖文件下载

执行下载:

wget https://archive.mariadb.org/mariadb-10.6.4/yum/centos7-amd64/rpms/MariaDB-common-10.6.4-1.el7.centos.x86_64.rpm
wget https://archive.mariadb.org/mariadb-10.6.4/yum/centos7-amd64/rpms/MariaDB-compat-10.6.4-1.el7.centos.x86_64.rpm

执行安装:

[xiaofang@sd-vm-0004433 mariadb]$ ll
total 2292
-rw-rw-r-- 1 xiaofang xiaofang 83116 Aug 5 02:57 MariaDB-common-10.6.4-1.el7.centos.x86_64.rpm
-rw-rw-r-- 1 xiaofang xiaofang 2257544 Aug 5 02:57 MariaDB-compat-10.6.4-1.el7.centos.x86_64.rpm
[xiaofang@sd-vm-0004433 mariadb]$
[xiaofang@sd-vm-0004433 mariadb]$
[xiaofang@sd-vm-0004433 mariadb]$ sudo yum -y install MariaDB-com*

2.2 安装MariaDB-client

wget https://archive.mariadb.org/mariadb-10.6.4/yum/centos7-amd64/rpms/MariaDB-client-10.6.4-1.el7.centos.x86_64.rpm

执行安装:

sudo yum -y install MariaDB-client-10.6.4-1.el7.centos.x86_64.rpm

2.3 安装MariaDB-server

wget https://archive.mariadb.org/mariadb-10.6.4/yum/centos7-amd64/rpms/MariaDB-server-10.6.4-1.el7.centos.x86_64.rpm

2.4 启动mariadb

安装完成之后,启动mariadb,命令如下:

sudo systemctl start mariadb

2.5 设置root用户密码

sudo mysql -uroot
MariaDB[(none)]> set password = password("your_password");
MariaDB[(none)]> quit;

2.6 确认rsync和policycoreutils-python已安装

sudo yum install rsync policycoreutils-python

然后,将上述步骤,在其余两台机器上照着执行一遍。


三、配置Galera各节点


3.1 MariaDB-Node1(10.200.67.27)节点配置

执行编辑命令:

vi /etc/my.cnf.d/galera.cnf

内容如下:


3.2 MariaDB-Node2(10.200.67.29)节点配置

执行编辑命令:

vi /etc/my.cnf.d/galera.cnf

内容如下:


3.3 MariaDB-Node3(10.200.67.26)节点配置

执行编辑命令:

vi /etc/my.cnf.d/galera.cnf

内容如下:


四、配置防火墙

如果没有开启防火墙可以跳过此步骤。

需要开放的端口有四个:



  • 3306: mariadb连接端口;

  • 4567: Galera Cluster复制同步端口;

  • 4568: 增量传输,其他节点状态检测端口;

  • 4444: 其他节点加入状态检测等作用;

sudo firewall-cmd --permanent --zOne=public --add-port=3306/tcp
sudo firewall-cmd --permanent --zOne=public --add-port=4567/tcp
sudo firewall-cmd --permanent --zOne=public --add-port=4568/tcp
sudo firewall-cmd --permanent --zOne=public --add-port=4444/tcp
sudo firewall-cmd --permanent --zOne=public --add-port=4567/udp

sudo firewall-cmd --permanent --zOne=public --add-source=10.200.67.27/32
sudo firewall-cmd --permanent --zOne=public --add-source=10.200.67.29/32
sudo firewall-cmd --permanent --zOne=public --add-source=10.200.67.26/32

重启防火墙:

sudo firewall-cmd --reload

五、创建SELinux安全策略

如果你没有开启SELinux安全策略,可以略过这一步。

在三个服务器上,分别执行:

sudo semanage port -a -t mysqld_port_t -p tcp 4567
sudo semanage port -a -t mysqld_port_t -p udp 4567
sudo semanage port -a -t mysqld_port_t -p tcp 4568
sudo semanage port -a -t mysqld_port_t -p tcp 4444

接下来,在所有三台服务器上运行以下命令,将 MySQL SELinux 域临时设置为许可模式。

sudo semanage permissive -a mysqld_t

六、启动集群

依次在第三、第二、第一个服务器上执行如下命令,并使用systemctl status mariadb确认服务已关闭:

sudo systemctl stop mariadb

6.1启动第一个节点

在第一个服务器节点执行:

sudo galera_new_cluster

查看注册节点状态:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

输出如下

+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 1 |
+--------------------+-------+

6.2启动第二个节点

sudo systemctl start mariadb

查看注册节点:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

输出如下:

Output
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 2 |
+--------------------+-------+

6.3启动第三个节点

sudo systemctl start mariadb

查看集群大小:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

输出如下:

+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 3 |
+--------------------+-------+

七、配置远程访问

MariaDB [(none)]> use mysql;
MariaDB [mysql]> grant all privileges on *.* to root@'localhost' identified by "your_password";
MariaDB [mysql]> grant all privileges on *.* to root@'%' identified by "your_password";
MariaDB [mysql]> FLUSH PRIVILEGES;

八、集群测试

在某一个节点创建测试数据库,看是否能同步。



推荐阅读
  • 本文详细介绍了如何在 CentOS 7 系统上安装 MariaDB 数据库服务器,并提供了启动、停止、重启及设置开机自启的方法。同时,也涵盖了配置远程连接的步骤。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统上安装中文宋体字体的方法,包括操作系统的环境配置、字体管理工具的安装、字体文件的传输与缓存重建等步骤。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 如何在Win10系统下通过VMware 14 Pro安装CentOS 7
    本文详细介绍了在Windows 10操作系统中使用VMware Workstation 14 Pro搭建CentOS 7虚拟环境的步骤,包括所需工具、安装过程及系统配置等。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 构建个人多节点Linux环境(CodeSheep)
    本文介绍如何通过虚拟机搭建一个多节点的Linux环境,这对于学习、实验和项目部署都具有重要意义。文章详细讲解了网络IP设置、节点间通信等关键步骤。 ... [详细]
author-avatar
白羊黔中草
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有