传统架构的使用,一直被人们所诟病,因为MySQL的主从模式,天生的不能完全保证数据一致,很多大公司会花很大人力物力去解决这个问题,而效果却一般,可以说,只能是通过牺牲性能,来获得数据一致性,但也只是在降低数据不一致性的可能性而已。所以现在就急需一种新型架构,从根本上解决这样的问题,天生的摆脱掉主从复制模式这样的 美中不足 之处了。

Galera Cluster :集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,多节点都可以作为主节点,节点是对等的,当有客户端要写入或者读取数据时,随便连接哪个实例都是一样的,读到的数据是相同的,写入某一个节点之后,集群自己会将新数据同步到其它节点上面,这种架构不共享任何数据,是一种高冗余架构。相比传统架构,Galera Cluster解决的最核心问题是,在三个实例(节点)之间,它们的关系是对等的,multi-master架构的,在多节点同时写入的时候,能够保证整个集群数据的一致性,完整性与正确性。

1、卸载麒麟系统自带mariadb

[root@192 ~]# rpm -qa |grep mariadb
mariadb-common-10.3.9-9.p02.ky10.x86_64
mariadb-server-10.3.9-9.p02.ky10.x86_64
mariadb-errmessage-10.3.9-9.p02.ky10.x86_64
mariadb-10.3.9-9.p02.ky10.x86_64
mariadb-connector-c-3.0.6-7.ky10.x86_64
[root@192 ~]# rpm -e --nodeps mariadb-common mariadb mariadb-server mariadb-connector-c mariadb-errmessage

2、测试环境

ip 主机名
192.168.1.4 galera1
192.168.1.5 galera2
192.168.1.6 galera3
#修改3台机器主机名
[root@galera1 /]# hostnamectl set-hostname galera1
#修改3台机器的/etc/hosts文件,添加如下内容
192.168.1.4 galera1
192.168.1.5 galera2
192.168.1.6 galera3

3、安装mysql-wsrep(下载编译好的二进制文件)
下载地址:https://releases.galeracluster.com/mysql-wsrep-8.0/binary/

[root@192 ~]# mv /root/下载/mysql-wsrep-8.0.30-26.11.tar.gz /usr/local/
[root@192 ~]# cd /usr/local/
[root@192 local]# tar -zxvf mysql-wsrep-8.0.30-26.11.tar.gz
[root@192 local]# mv mysql-wsrep-8.0.30-26.11 mysql# 创建mysql用户组和mysql用户,如系统已存在则不用创建
[root@192 local]# groupadd mysql
[root@192 local]# useradd -r -g mysql mysql
[root@192 local]# passwd mysql
# 创建data文件夹,用于存放数据库文件
[root@192 local]# mkdir /usr/local/mysql/data
# 将解压后的mysql文件所有者和所属组改为mysql
[root@192 local]# chown -R mysql /usr/local/mysql
[root@192 local]# chgrp -R mysql /usr/local/mysql
[root@192 local]# ll mysql
总用量 296
drwxr-xr-x  2 mysql mysql   4096  9月 14 04:08 bin
drwxr-xr-x  2 mysql mysql      6 12月 24 10:32 data
drwxr-xr-x  2 mysql mysql     55  9月 14 04:08 docs
drwxr-xr-x  3 mysql mysql    282  9月 14 04:08 include
drwxr-xr-x  6 mysql mysql    201  9月 14 04:08 lib
-rw-r--r--  1 mysql mysql 287627  9月 14 00:15 LICENSE
drwxr-xr-x  4 mysql mysql     30  9月 14 04:08 man
-rw-r--r--  1 mysql mysql    666  9月 14 00:15 README
drwxr-xr-x 28 mysql mysql   4096  9月 14 04:08 share
drwxr-xr-x  2 mysql mysql     77  9月 14 04:08 support-files
[root@192 local]#
# 配置mysql环境变量
[root@192 local]# vim /etc/profile
# 在该文件中添加如下内容
export MYSQL_HOME=/usr/local/mysql/
export PATH=$PATH:$MYSQL_HOME/bin
[root@192 local]# source /etc/profile# 初始化mysql数据库
[root@192 local]# ./mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2022-12-24T02:34:53.336307Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.31) initializing of server in progress as process 22021
2022-12-24T02:34:53.358364Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-12-24T02:34:54.122188Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-12-24T02:34:55.447881Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: aAq*);up0Jx:
# 从上面信息可看出,此时mysql临时密码为:aAq*);up0Jx:
# 启动mysql服务
[root@192 local]# ./mysql/support-files/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/192.168.1.9.err'.
... SUCCESS!
# 连接mysql数据库,修改mysql数据库的root密码
[root@192 local]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.31Copyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
# 修改密码为qwe123
mysql> alter user 'root'@'localhost' identified by 'qwe123';
Query OK, 0 rows affected (0.14 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)mysql>

4、安装galera4(下载编译好的二进制文件)
下载地址:https://releases.galeracluster.com/galera-4/binary/

[root@192 /]# mv /root/下载/galera-4-26.4.13.tar.gz /usr/local/
[root@192 /]# cd /usr/local/
[root@192 local]# tar -zxvf galera-4-26.4.13.tar.gz
[root@192 local]# mv galera-4-26.4.13 galera

5、修改配置文件(galera1)
将/usr/local/mysql/support-files/wsrep.cnf文件复制一份到/etc下,并重命名为my.cnf(galera2、galera3同理),在[mysqld]下添加如下内容

[root@192 bin]# vim /etc/my.cnf
# 添加以下内容
server-id=1
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2wsrep_on=ON
wsrep_provider=/usr/local/galera/lib/libgalera_smm.so
wsrep_cluster_name="galera"
wsrep_cluster_address="gcomm://"
wsrep_node_name="galera1"
wsrep_node_address="192.168.1.4"
wsrep_sst_auth=root:"qwe123"
wsrep_sst_method=rsync

修改glaera2主机的/etc/my.cnf文件

[root@192 bin]# vim /etc/my.cnf
# 添加以下内容
server-id=2
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2wsrep_on=ON
wsrep_provider=/usr/local/galera/lib/libgalera_smm.so
wsrep_cluster_name="galera"
wsrep_cluster_address="gcomm://192.168.1.4,192.168.1.6"
wsrep_node_name="galera2"
wsrep_node_address="192.168.1.5"
wsrep_sst_auth=root:"qwe123"
wsrep_sst_method=rsync

修改glaera3主机的/etc/my.cnf文件

[root@192 bin]# vim /etc/my.cnf
# 添加以下内容
server-id=3
binlog_format=row
innodb_file_per_table=1
innodb_autoinc_lock_mode=2wsrep_on=ON
wsrep_provider=/usr/local/galera/lib/libgalera_smm.so
wsrep_cluster_name="galera"
wsrep_cluster_address="gcomm://192.168.1.4,192.168.1.5"
wsrep_node_name="galera3"
wsrep_node_address="192.168.1.6"
wsrep_sst_auth=root:"qwe123"
wsrep_sst_method=rsync

6、防火墙开通端口,将4567端口加入防火墙

[root@galera2 /]# netstat -nltp |grep mysqld
tcp        0      0 0.0.0.0:4567            0.0.0.0:*               LISTEN      8305/mysqld
tcp6       0      0 :::33060                :::*                    LISTEN      8305/mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      8305/mysqld
[root@galera2 /]# firewall-cmd --add-port=4567/tcp --permanent
success
[root@galera2 /]# firewall-cmd --reload
success
[root@galera2 /]#

7、启动集群
先启动galera1的mysql服务
再依次启动galera2、galera3的服务,启动完成之后,停止galera1的服务,修改/etc/my.cnf文件,将wsrep_cluster_address=字段修改为如下:

wsrep_cluster_address="gcomm://192.168.1.5,192.168.1.6"

8、测试验证
在其中一台mysql上新建数据库表,两外两台机器就可以同步看到了

银河麒麟服务器操作系统V10SP2搭建mysql的galera集群相关推荐

  1. 银河麒麟服务器操作系统V10SP2搭建FTP服务端

    文章目录 系统环境 目标场景 搭建步骤 访问测试 系统环境 OS版本:银河麒麟服务器操作系统V10SP2(x86_64) FTP服务端:vsftpd-3.0.3-31 目标场景 ①设定FTP根目录为/ ...

  2. 银河麒麟服务器操作系统V10SP2搭建时间服务器

    chrony用来同步时间,来代替ntp服务,优点是很精巧的时间同步工具,更快响应时钟变化,在应对延时提供更好的稳定性能,不会出现时间空白,跨越互联网同步时间只需要几毫秒. 特点:1.更快的同步:能在最 ...

  3. 银河麒麟服务器操作系统V10SP2安装搭建OpenVP

    文章目录 系统环境 搭建步骤 安装OpenVPN服务端 安装Easy RSA套件 生成私钥和证书 OpenVPN服务端配置 OpenVPN客户端配置 连接测试 系统环境 一.OpenVPN服务器系统配 ...

  4. 银河麒麟服务器操作系统V10搭建内网YUM源服务器

    文章目录 系统环境 YUM源拉取服务器(外网)配置 安装createrepo组件 添加repo仓库 拉取repo数据 YUM源服务端(内网)配置 YUM源客户端(内网)配置 系统环境 YUM源拉取服务 ...

  5. 银河麒麟服务器操作系统(国防版),银河麒麟服务器操作系统V4

    银河麒麟服务器操作系统是在"863计划"和国家核高基科技重大专项支持下,研制而成的高安全.高可靠.高可用国产操作系统,系统实现对飞腾.龙芯.鲲鹏.兆芯.海光等自主CPU及x86平台 ...

  6. 银河麒麟系统服务端命令_银河麒麟服务器操作系统Linux版下载_银河麒麟服务器操作系统免费版下载_银河麒麟服务器操作系统4.0标准版-华军软件园...

    银河麒麟服务器操作系统是在国家"863计划"和国家核高基科技重大专项支持下,研制而成的强安全.高可靠.高可用国产操作系统,已在国防.军工.政务.电力.航天.金融.电信.教育.大中型 ...

  7. 银河麒麟系统服务端命令_银河麒麟服务器操作系统Linux版下载_银河麒麟服务器操作系统免费版下载_银河麒麟服务器操作系统4.0 标准版-188软件园...

    银河麒麟服务器操作系统是在国家"863计划"和国家核高基科技重大专项支持下,研制而成的强安全.高可靠.高可用国产操作系统,已在国防.军工.政务.电力.航天.金融.电信.教育.大中型 ...

  8. 银河麒麟服务器操作系统V10SP3安装部署File Browser简易网盘

    文章目录 前言 系统环境 搭建步骤 下载并解压安装包 添加执行程序 创建配置文件 运行File Browser 系统防火墙配置 使用File Browser 访问File Browser 修改语言为中 ...

  9. 银河麒麟服务器操作系统 V10 SP1 限制root用户SSH远程登录

    银河麒麟服务器操作系统版本 ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Ser ...

最新文章

  1. MySQL 关于毫秒的处理
  2. 810D - 如何写学术论文
  3. vivi eboot wince 烧写
  4. 【转】XP/2000无法使用“缩略图查看”、右键无“设置桌面背景”选项问题详解...
  5. 非对称加解密交互故事
  6. jni c 传递对象到java_JNI将二进制数据从C传递到Java
  7. 使用计算机正确开机方法,电脑开关机的正确步骤
  8. 森林怎么训练野人_138年前抓的“野人女孩”,最终命运如何?死前心愿让人心酸...
  9. linux qt 甘特图,qt绘制甘特图
  10. [zz] 海洋环境的光能传递
  11. java的demo打印功能_java实现打印功能demo
  12. 静态GPS控制测量使用技术方法
  13. selenium使用AutoIt工具上传附件
  14. 大数据处理系统,分布式存储系统和分布式计算框架介绍
  15. 设计模式——原形模式
  16. Windy数 数位DP
  17. JSON.parse解析失败(报错,出错)
  18. 在基于Windows系统的PHP虚拟主机上实现域名的301永久重定向
  19. 【饭谈】【测试圈相亲平台开发流程】:页面样式开发心得【工匠、智者、航海家】
  20. 虚拟机----Linux

热门文章

  1. 苹果CMS接入个人支付收款GOGO支付插件
  2. 野火电机+CUBEMX——直流有刷电机的实现
  3. 2019TLC大会精彩回顾—大前端·信息流
  4. pygame 如何旋转图片
  5. Windows Server 2008 R2 ISO镜像简体中文版(附带秘钥)
  6. 表面粗糙度的基本评定参数是_表面粗糙度最常用评定参数是什么?
  7. sql server查询分析器的一个选项...
  8. 消息中间件RocketMQ的延时消息和批量消息
  9. 【SSM整合】SSM详细整合-maven分模块架构
  10. Java实现邮箱验证