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更好的保证了数据的完整性和一致性

打赏链接:

相关推荐
爱写代码的森17 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
HLC++20 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室21 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
白露与泡影1 天前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#
神奇霸王龙1 天前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
Web极客码1 天前
WordPress SEO优化:提升网站排名的13个关键步骤
服务器·seo·wordpress
groundhappy1 天前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕1 天前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫1 天前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
国科安芯1 天前
星间光链路:AS32S601型抗辐射MCU在空间激光通信终端控制中的技术实现
服务器·网络·单片机·嵌入式硬件·物联网·安全·信息与通信