Galera Cluster部署

目录

[一,MySQL Galera Cluster部署](#一,MySQL Galera Cluster部署)

1,主要特点

2,组件

[二,MySQL Galera Cluster部署](#二,MySQL Galera Cluster部署)

[三,MySQL Galera Cluster和传统MySQL的差别](#三,MySQL Galera Cluster和传统MySQL的差别)

1,集群架构

2,一致性和容错

3,复制机制

4,配置和管理

5,事务处理传统MySQL

6,数据完整性


一,MySQL Galera Cluster部署

MySQL Galera Cluster是一个高可用,同步复制的数据库解决方案,基于Galera Library和MySQL数据库,它设计用于提供高可用性,负载均衡和数据一致性,特别适合需要高写入负载和多主节点支持的场景

1,主要特点

同步复制:所有的写操作在集群之内的所有节点上都是同步的,这意味着每个节点上的数据是一致的

多主节点:集群之内的每个节点都是主节点,所有节点都可以处理读写需要,从而实现负载均衡和高可用性

自动故障转移:当一个节点发生故障,另外的节点会自动接管,保证系统持续可用

自动节点加进:新节点可以自动加进集群,并同步到当下的集群状态

数据一致性:运用基于事务的复制保证数据一致性,所有事务在所有节点上以相同的顺序执行

可错性:集群能够处理网络分区和节点故障,保证集群的健壮性

2,组件

Galera Library:提供了同步复制功能和事务一致性,Galera Library负责复制和应用事务

MySQL数据库:提供数据库管理功能,包括SQL支持,查询优化等

state snapshot transfer和incremental state transfer:SST用于将新节点和集群之内的现有数据进行同步,IST作用于在集群之内节点之间进行增量数据传输

二,MySQL Galera Cluster部署

(1),

bash 复制代码
#分别在galera1,galera2,galera3打开/etc/hosts文件,在文件末行部分添加以下的galera解析信息

(2),

bash 复制代码
#分别在galera1,galera2,galera3打开/etc/yum.repos.d/mysql-wsrep.repo,在文件之内添加galera行并在行之内添加以下的yum源信息

(3),

bash 复制代码
dnf module disable -y mysql
#分别在galera1,galera2,galera3禁用掉mysql模式

(4),

bash 复制代码
yum install -y mysql-wsrep-8.0 galera
#分别在galera1,galera2,galera3安装mysql-wsrep-8.0和galera

(5),

bash 复制代码
mysqladmin -uroot -p password '123.Com'
#分别在galera1,galera2,galera3重新设置管理员用户的密码为123.Com

(6),

bash 复制代码
#创建user.sh,编写脚本并添加以下信息

(8),

bash 复制代码
chmod +x user.sh
./user.sh
#为user.sh赋予限定并运行user.sh

(9),

bash 复制代码
ssh-keygen
for i in 195 196 197;do ssh-copy-id 192.168.40.$i;done
rsync ./user.sh root@192.168.40.195:/usr/share/nginx/html
rsync ./user.sh root@192.168.40.196:/usr/share/nginx/html
rsync ./user.sh root@192.168.40.197:/usr/share/nginx/html
#创建公钥并将公钥发给galera1,galera2,galera3,再将脚本user.sh发给galera1,galera2,galera3

(10),

bash 复制代码
在galera1,galera2,galera3分别打开/etc/my.cnf文件,并在末行填写以下的信息

(11),

bash 复制代码
systemctl restart mysqld
mysql -uroot -p123.Com
#重新打开mysqld,并用管理员身份密码123.Com登录mysql数据库,配置完成

三,MySQL Galera Cluster和传统MySQL的差别

1,集群架构

传统MySQL

主从复制:传统的MySQL配置通常包括一个主服务器和多个从服务器,从服务器从主服务器接收数据更新,这是一种异步复制方法,意味着从服务器可能会滞后于主服务器

主主复制:一些系统配置多个主节点进行主主复制,但存在一些可能的数据问题

MySQL Galera Cluster

多主复制:Galera Cluster是一个同步复制系统,每个节点都可以充当主节点,所有节点都可以读写操作,保证数据在所有节点之间保持一致

同步复制:数据更改会在所有节点之间同步,这意味着所有节点的数据是一致的,没有主从的延迟

2,一致性和容错

传统MySQL

最终一致性:在主从复制之内,从节点的数据更新可能会有延迟,直到从节点追上主节点,数据一致性在主从复制之内不是实时保证的

容错性:单个主节点的故障可能会导致整个系统停机,尽管从节点可以作为备用,但恢复时间可能会较长

3,复制机制

传统MySQL

异步复制:数据从主服务器复制到从服务器,可能存在延迟

半同步复制:可以配置为在主服务器固定至少一个从服务器已收到数据之前才提交事务,但这并不保证所有从服务器都已更新

MySQL Galera Cluster

同步复制:所有节点在事务提交时需要在集群之内多数节点上固定事务,从而保证数据一致性

4,配置和管理

传统MySQL

复杂性:主从复制的配置和管理可能较为复杂,特别是在处理主节点故障,重新配置主从关系和负载均衡时

自动化工具:通常需要外部工具和脚本来处理故障转移和负载均衡

5,事务处理

传统MySQL

单节点事务:事务处理通常发生在单个主节点之内,可能会受制于主节点的性能和负载

MySQL Galera Cluster

全局事务:事务需要在所有参与的节点上进行一致性检查和提交,可能会对事务性能产生影响,但保证了数据的一致性

6,数据完整性

传统MySQL

数据一致性问题:在高负载和故障状态下,可能会出现数据一致性问题,特别是在主从复制之内

MySQL Galera Cluster

数据完整性:通过同步复制和全节点一致性检查,Galera Cluster更好的保证了数据的完整性和一致性

打赏链接:

相关推荐
wanhengidc1 小时前
云手机 网络连接与持续性的表现如何
运维·服务器·科技·游戏·智能手机
小猿成长1 小时前
Ubuntu搭建物联网平台(ThingsBoard)教程
linux·运维·ubuntu
代码不行的搬运工1 小时前
RFC6811:BGP前缀源验证
运维·服务器·bgp网络
Archie_IT1 小时前
openEuler 软件生态深度勘探:从六万软件包到多语言融合
linux·容器·性能测试·openeuler·多语言开发
tokepson2 小时前
香橙派AI Pro个人云平台 - 从零搭建全记录
linux·服务器·技术·记录
fengyehongWorld3 小时前
Linux wget命令
linux
fpcc3 小时前
跟我学C++中级篇——Linux系统信号分析
linux
楼田莉子3 小时前
基于Linux的个人制作的文件库+标准输出和标准错误
linux·c语言·c++·学习·vim
♛识尔如昼♛3 小时前
Linux I2C 驱动
linux·驱动开发·i2c 协议
@YDWLCloud4 小时前
用腾讯云国际版搭建全球加速架构:5 分钟实现多地访问提速
服务器·架构·云计算·github·腾讯云