Galera Cluster部署
目录
一,MySQL Galera Cluster部署
1,主要特点
2,组件
二,MySQL Galera Cluster部署
三,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),
#分别在galera1,galera2,galera3打开/etc/hosts文件,在文件末行部分添加以下的galera解析信息
(2),
#分别在galera1,galera2,galera3打开/etc/yum.repos.d/mysql-wsrep.repo,在文件之内添加galera行并在行之内添加以下的yum源信息

(3),
dnf module disable -y mysql
#分别在galera1,galera2,galera3禁用掉mysql模式

(4),
yum install -y mysql-wsrep-8.0 galera
#分别在galera1,galera2,galera3安装mysql-wsrep-8.0和galera

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

(6),
#创建user.sh,编写脚本并添加以下信息

(8),
chmod +x user.sh
./user.sh
#为user.sh赋予限定并运行user.sh

(9),
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),
在galera1,galera2,galera3分别打开/etc/my.cnf文件,并在末行填写以下的信息

(11),
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更好的保证了数据的完整性和一致性
打赏链接:


