背景:

mysql 高可用集群主流的是MHA,缺点不够灵活,需要做单独做读写分离。Galera 目前是没有主从,所有节点都可读写,宕机 重启自动加入集群,容灾灵活。

第一步:环境介绍

centos7 + mysql-8.0+galera-4

第二步:准备工作

<1>.  执行命令:> vi /etc/selinux/config    修改 SELINUX=enforcing 为 permissive ,执行 reboot 重启电脑.

<2> 准备一个ssh 连接工具,方便操作,我这块提供一个连接:

Terminal.icu SSH/SFTP 工具

<3> 准备 yum 安装下载源,创建文件galera.repo,编辑好上传到/etc/yum.repos.d/ 目录下,全路径如下:

/etc/yum.repos.d/galera.repo

[galera]
name = Galera
baseurl = https://releases.galeracluster.com/galera-4.12/centos/7/x86_64
gpgkey = https://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1

[mysql-wsrep]
name = MySQL-wsrep
baseurl =  https://releases.galeracluster.com/mysql-wsrep-8.0.28-26.10/centos/7/x86_64
gpgkey = https://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1

第三步:开始安装

<1>   执行  >  yum install -y galera-4 mysql-wsrep-8.0,等待安装完成。

<2>  配置文件 配置文件  my.cnf,上传至 /etc/  下,如/etct/my.cnf.

[mysqld]
max_connections=1000
max_connect_errors=3
datadir=/data/module/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog_format=ROW
bind-address=0.0.0.0
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=122M
character-set-server=utf8
collation-server=utf8_general_ci
character_set_server=utf8
collation_server=utf8_general_ci

#指定 wsrep provider 文件的位置,Galera使用这个 provider 来实现数据的 Replication,不同操作#系统下这个文件的位置可能不一样,请注意提前确认文件位置
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so

#缓存配置
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"

#集群节点名称
wsrep_cluster_name="mysql_cluster"

#集群节点
wsrep_sst_donor='node101,node102,node103'

#集群节点配置,环境配置好之后,用此配置
#wsrep_cluster_address="gcomm://192.168.3.101:4567,192.168.3.102:4567,192.168.3.103:4567"

#初始化启动时配置,启动集群时去掉此

wsrep_cluster_address=gcomm://

#具体节点名称
wsrep_node_name="node101"

#具体节点ip地址
wsrep_node_address="192.168.3.101"

#集群数据同步方式
wsrep_sst_method=rsync

[mysql_safe]
log-error=/data/module/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

<3> 创建数据存储目录,并授权

# 注意mysql datadir的文件夹权限,给mysql用户授权
> mkdir -p /data/module/mysql
> useradd mysql
> chown -R mysql.mysql /data/module/mysql
# 注意: 在启动第一个节点之前先检查一下mysql是否已启动,如果已启动,先关闭mysql服务,同# 时关闭自动启动。因为在节点一上必须通过> mysqld_bootstrap启动服务。
> systemctl stop mysqld
> systemctl disable mysqld

# 初始化完成 有对应的密码显示在控制台,直接拷贝保存,mysql登录时直接使用。
> mysqld --initialize –-console
> service mysqld start
> mysql -u root –p

# 授权 远程连接数据库
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
# 刷新权限
>FLUSH PRIVILEGES;

第三步:重复《开始安装步骤》安装其他两个节点

此文件(/etct/my.cnf )内容需要修改对应的参数如下

<1>   第一个节点改为
wsrep_node_name="node101"
wsrep_node_address="192.168.3.101"  wsrep_cluster_address="gcomm://192.168.3.101:4567,192.168.3.102:4567,192.168.3.103:4567"

<2>   第二个节点改为
wsrep_node_name="node102"
wsrep_node_address="192.168.3.102"  wsrep_cluster_address="gcomm://192.168.3.101:4567,192.168.3.102:4567,192.168.3.103:4567"

<3>   第三个节点改为
wsrep_node_name="node103"
wsrep_node_address="192.168.3.103" wsrep_cluster_address="gcomm://192.168.3.101:4567,192.168.3.102:4567,192.168.3.103:4567"

第四步:集群启动

<1> 第一个节点

> /usr/bin/mysqld_bootstrap

<2> 第二个节点 和 第三个相同

> systemctl start mysqld

<3> 查看状态

# 检查集群规模
SHOW STATUS LIKE 'wsrep_cluster_size';
+--------------------+-------------------------------------+
| Variable_name          | Value |
+--------------------+-------------------------------------+
| wsrep_cluster_size    |    1    |
+--------------------+-------------------------------------+

mysql 集群搭建(Centos7) for Galera相关推荐

  1. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  2. MySQL集群搭建--多主模式

    MySQL集群搭建--多主模式 本文使用的是Galera搭建的MYSQL集群,实现的是每个MYSQL都是主服务器,不存在主从之分. 环境: 三台mysql5.7服务器. 安装mysql集群: 安装前准 ...

  3. mysql集群搭建教程-mysql+windows篇

    张哥视频课:https://edu.csdn.net/course/play/7912 搭建MySQL集群,首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及 ...

  4. mysql集群搭建(使用docker 一主一从)

    mysql集群搭建 my.cnf 配置文件配置 在 /etc/mysql/my.cnf 中 (拿一个举例) (docker中需要先进入开启的容器,docker exec -it 容器名称 /bin/b ...

  5. windows+mysql集群搭建-三分钟搞定集群

    一.集群了解 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解 ...

  6. centos7 mysql集群搭建

    mysql集群 前置条件 修改集群节点设备计算机名称 hostnamectl set-hostname node1 # 以此类推node2,3 实现集群节点之间的ssh互信功能 function ss ...

  7. mysql集群搭建及性能调优之一(集群搭建)

    本文讲解mysql的集群搭建 文章目录 1. docker安装并启动三台mysql 2. 创建基础库并设置可访问用户 3. 主从配置 3.1 主服务器配置 3.2 从服务器配置 1. docker安装 ...

  8. mysql集群搭建与总结

    文章目录 1. 主从复制集群 1.1 搭建主从复制 1.2 主从复制验证 1.3 主从数据不一致的解决方案(pt-table-sync) 1.4 主从复制的原理 2. 主主复制集群 3.pxc集群 3 ...

  9. MYSQL集群搭建部署详细步骤

    目录 前言 mysql cluster中的几个概念解释 架构图及说明 下载mysql cluster 安装mysql cluster之前 安装配置管理节点 安装配置数据和mysql节点 测试 启动和关 ...

最新文章

  1. Basketball Exercise CodeForces - 1195C(动态规划dp)
  2. 【转】敏捷开发,你真的做对了吗?
  3. 华为智慧屏云会议怎么操作_会议室预定系统有哪些?怎么操作
  4. CSS外边距合并(塌陷/margin越界)
  5. 华为薪资等级结构表2020_华为技术等级1到22级解读,17级即可百万年薪加股权分红...
  6. 【菜gou的CS61A学习笔记 Midterm1】
  7. Medium之1468.计算税后工资
  8. JES专栏:Portlets的国际化和本地化(eNews 第二十八期/2007.09)
  9. 计算机word表格怎么求和,【Word文档怎么求和】- 虎课网
  10. MATLAB写入文件的操作
  11. 我与无人机的2020上半年
  12. 尽信书不如无书之获取枚举值代码优化
  13. 【D3.js】D3是什么
  14. 当当网 R 语言学习资料统计分析
  15. vue中echarts初次加载图很小的问题
  16. 网狐U3D客户端登陆大联盟服务器成功无法进入大厅解决
  17. Swoft 2.X 中间件
  18. 使用echarts,制作色温图
  19. Linux限制cpu睿频限制频率
  20. python提取pdf发票信息_PDF电子发票内容提取

热门文章

  1. Navicat Premium 15.0.26 MacOS
  2. C++中的clock计时不准?
  3. C语言语句篇-------赋值语句
  4. tcp 阻塞与非阻塞
  5. linux下的计划任务
  6. firefox 显示网页加载时间的插件
  7. STM32WL LoRaWAN节点设备学习记录(一)
  8. 我们为什么要参与到 GSoC/GSoD 的活动中?
  9. php摇号 中标 程序,摇号信息系统招标公告
  10. 复阻抗法 求解 传递函数