MGR部署

场景描述:

使用三台服务器搭建一个简单MGR集群,使用MySQL 5.7.24版本,服务器列表为:

192.168.1.147
192.168.1.148
192.168.1.149

1、使用普通配置文件启动MySQL服务,安装MGR插件(所有节点执行)

INSTALL PLUGIN group_replication SONAME 'group_replication.so';

2、调整MySQL各节点的配置文件并重启MySQL服务(所有节点执行)

## config master
server-id = 17218228149
log-bin = mysql-bin
master_info_repository = TABLE
binlog_format = ROW
expire_logs_days = 7
sync_binlog = 1
gtid_mode = on
enforce-gtid-consistency = true
binlog_rows_query_log_events = on
binlog_checksum                         = NONE ## config slave
skip-slave-start
slave-parallel-workers = 8
slave-parallel-type = LOGICAL_CLOCK
slave_preserve_commit_order = 1
log_slave_updates = 1
report_host = 192.168.1.149 ## config relay log
relay-log = relay-log
relay_log_recovery = ON
sync_relay_log = 0
relay_log_info_repository = TABLE ## config group replication
transaction_write_set_extraction    = XXHASH64
loose-group_replication_group_name    = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa01"
loose-group_replication_start_on_boot         = OFF
loose-group_replication_bootstrap_group         = OFF
loose-group_replication_local_address         = "192.168.1.149:33581"
loose-group_replication_group_seeds    = "192.168.1.147:33581,192.168.1.148:33581,192.168.1.149:33581"
loose-group_replication_ip_whitelist         = "192.168.1.147,192.168.1.148,192.168.1.149"

未安装MGR插件前在配置文件加入MGR配置会报错。

MGR配置说明:上面黄色部分参数在很多配置文件中都没提到,但很可能会导致部署失败,尤其是loose-group_replication_ip_whitelist参数。

3、配置MGR通信账号,并清理MASTER(所有节点执行)

CREATE USER repl@'%' IDENTIFIED BY 'repl';
GRANT REPLICATION SLAVE ON *.* TO repl@'%';
RESET MASTER;

4、创建MGR依赖的复制环境(所有节点执行)

CHANGE MASTER TO MASTER_USER='repl',
MASTER_PASSWORD='repl'
FOR CHANNEL 'group_replication_recovery';

5、在主节点上启动MGR(在节点192.168.1.147上执行)

SET GLOBAL group_replication_bootstrap_group=ON;
START group_replication;
SET GLOBAL group_replication_bootstrap_group=off;

6、在辅助节点上启动MGR(在节点192.168.1.148和在节点192.168.1.149上执行)

START group_replication;

7、搭建完成后,可以使用下面语句查看状态:

## 查看各节点状态
SELECT *
FROM performance_schema.replication_group_members; ## 查看当前MGR模式(单主还是多主)
SELECT @@group_replication_single_primary_mode;

8、判断节点状态

## 查看当前节点状态
SELECT member_state
FROM performance_schema.replication_group_members
WHERE member_id=@@server_uuid; ## 通过节点是否可写来判断群集是否为主节点
SELECT *
FROM performance_schema.global_variables
WHERE variable_name IN ('read_only', 'super_read_only');

MGR成员的五种状态:

ONLINE: The member is in a fully functioning state.

RECOVERING: The server has joined a group from which it is retrieving data.

OFFLINE: The group replication plugin is installed but has not been started.

ERROR: The member has encountered an error, either during applying transactions or during the recovery phase, and is not participating in the group's transactions.

UNREACHABLE: The failure detection process suspects that this member cannot be contacted, because the group messages have timed out.

新增MGR节点

目前MySQL不支持自动扩展新节点并将全量数据同步到新节点,因此需要:

1、备份任一节点数据(MySQLDump或Xtrabackup)至新节点并还原

2、在新节点上设置与备份数据对应的Executed_Gtid_Set

3、在新节点上执行下面命令直接启动MGR复制即可。

CHANGE MASTER TO MASTER_USER='repl',
MASTER_PASSWORD='repl'
FOR CHANNEL 'group_replication_recovery'; START GROUP_REPLICATION;

MySQL MGR--MGR部署的更多相关文章

  1. mysql 的mgr集群

    mysql 的mgr集群 http://wubx.net/mgr%E7%9B%91%E6%8E%A7%E5%8F%8A%E4%BC%98%E5%8C%96%E7%82%B9/ MGR调优参数因为基本复 ...

  2. mysql数据库主从复制部署笔记

    主从复制是mysql中数据库实时同步的一个常用做法了,今天我来给各位介绍一下关于mysql数据库主从复制部署一个过程,希望此例子对各位同学参考参考. 数据库主从复制原理: 数据库的主从复制就是从mas ...

  3. 多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客

    多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署

  4. Mysql读写分离方案-MySQL Proxy环境部署记录

    Mysql的读写分离可以使用MySQL Proxy和Amoeba实现,其实也可以使用MySQL-MMM实现读写分离的自动切换.MySQL Proxy有一项强大功能是实现"读写分离" ...

  5. shell脚本实例-mysql多机部署

    今天我给大家分享shell 安装mysql 多机部署的实例,本次实验是基于各个主机的公钥已经配置好了,如果还不会推送公钥的同学,可以看看我以前写的文章,那里面有写推公钥的实例,mysql 多机部署一般 ...

  6. CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇

    CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...

  7. 基于MySQL+MHA+Haproxy部署高可用负载均衡集群

    一.MHA 概述 MHA(Master High Availability)是可以在MySQL上使用的一套高可用方案.所编写的语言为Perl 从名字上我们可以看到.MHA的目的就是为了维护Master ...

  8. 01 . Mysql简介及部署

    Mysql数据库简介 什么是数据? ​ 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材,数据是信息的表现形式和载体,可以是符号,文字,数字,语音,图 ...

  9. MGR(MySQL Group Replication)部署测试

    1. 环境说明 192.168.11.131 mgr1 主节点 192.168.11.132 mgr2 从节点 192.168.11.133 mgr3 从节点 2. 在mgr1.mgr2.mgr3上安 ...

  10. 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4 ...

随机推荐

  1. CentOS 7 卸载OpenJdk安装Oracle Jdk1.8

    CentOS 7 卸载OpenJdk安装Oracle Jdk1.81.查询openjdk:rpm -qa | grep jdk2.卸载OpenJdkrpm -e --nodeps 查询到的结果3.安装 ...

  2. Qt编写安防视频监控系统18-云台控制

    一.前言 云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂 ...

  3. xml 3 字节的 UTF-8 序列的字节 3 无效

    今天在eclipse中编写**.xml文件时,注释中的中文被eclipse识别到错误:3 字节的 UTF-8 序列的字节 3 无效,曾多次遇到该问题,问题的根源是: The cause of this ...

  4. 小于K的两数之和

    给你一个整数数组 A 和一个整数 K,请在该数组中找出两个元素,使它们的和小于 K但尽可能地接近 K,返回这两个元素的和. 如不存在这样的两个元素,请返回 -1. 示例1: 输入:A = [34,23 ...

  5. 【NPDP笔记】第六章 市场研究

      6.1 产品市场研究 客户心声Voice of Customer,为了找出问题的解决方法,引导消费者经历一系列的情景并进行结构化的深度访谈,以提炼客户需求的过程 在产品开发决策中,需要获取的信息 ...

  6. 【转载】嵌入式 Linux 移植 Dropbear SSH server

    0. 背景  OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中.  Dropbear是一个相对较小的SSH服务器和客户端.它运行在一个基于POSIX的各种 ...

  7. PHP pdo单例模式连接数据库

    PHP pdo单例模式连接数据库<pre><?php class Db{ private static $pdo; public static function getPdo () ...

  8. dell服务器在bios中指定raid5的热备盘

    一.创建raid5 二.指定热备盘   选择第15块磁盘作为上面创建的raid5的热备盘 选中 选中我们刚创建的raid5,点击OK

  9. SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法

    这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据.DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数据冗余.所以删除或更新一条重复数据就牵一发而动全身. 解决方 ...

  10. Java程序员经典面试题+答案(全)

    这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试. 关注公众号[Java典籍]免费赠送一套Java入门视频教程一套! ...