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

打赏链接:

相关推荐
洛克大航海5 小时前
虚拟机 Ubuntu 中安装 Google Chrome 浏览器
linux·chrome·ubuntu
DeeplyMind5 小时前
AMD rocr-libhsakmt分析系列3-4:svm-reserve模式实现分析
linux·驱动开发·1024程序员节·amdgpu·kfd·rocr
神秘的土鸡5 小时前
从数据仓库到数据中台再到数据飞轮:我的数据技术成长之路
java·服务器·aigc·数据库架构·1024程序员节
大米粥哥哥6 小时前
Qt QProcess基于Linux的命令管道符号无效问题【已解决】
linux·qt·shell·qprocess·1024程序员节·管道符号
北京迅为6 小时前
【北京迅为】iTOP-4412精英版使用手册-第六十七章 USB鼠标驱动详解
linux·人工智能·嵌入式·4412
骑士9991116 小时前
rabbitMQ 的安装和使用
linux·rabbitmq
小白不想白a6 小时前
【shell】每日shell练习:系统备份文件管理/系统性能趋势分析
linux·服务器
咬_咬7 小时前
C++仿muduo库高并发服务器项目:Channel模块
linux·c++·channel·1024程序员节·muduo·高并发服务器
csdn_aspnet7 小时前
如何在 Ubuntu 24.04/22.04/20.04 上安装 MySQL 8.0
linux·mysql·ubuntu