MySQL MGR--MGR部署
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部署的更多相关文章
- 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调优参数因为基本复 ...
- mysql数据库主从复制部署笔记
主从复制是mysql中数据库实时同步的一个常用做法了,今天我来给各位介绍一下关于mysql数据库主从复制部署一个过程,希望此例子对各位同学参考参考. 数据库主从复制原理: 数据库的主从复制就是从mas ...
- 多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客
多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署
- Mysql读写分离方案-MySQL Proxy环境部署记录
Mysql的读写分离可以使用MySQL Proxy和Amoeba实现,其实也可以使用MySQL-MMM实现读写分离的自动切换.MySQL Proxy有一项强大功能是实现"读写分离" ...
- shell脚本实例-mysql多机部署
今天我给大家分享shell 安装mysql 多机部署的实例,本次实验是基于各个主机的公钥已经配置好了,如果还不会推送公钥的同学,可以看看我以前写的文章,那里面有写推公钥的实例,mysql 多机部署一般 ...
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- 基于MySQL+MHA+Haproxy部署高可用负载均衡集群
一.MHA 概述 MHA(Master High Availability)是可以在MySQL上使用的一套高可用方案.所编写的语言为Perl 从名字上我们可以看到.MHA的目的就是为了维护Master ...
- 01 . Mysql简介及部署
Mysql数据库简介 什么是数据? 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材,数据是信息的表现形式和载体,可以是符号,文字,数字,语音,图 ...
- MGR(MySQL Group Replication)部署测试
1. 环境说明 192.168.11.131 mgr1 主节点 192.168.11.132 mgr2 从节点 192.168.11.133 mgr3 从节点 2. 在mgr1.mgr2.mgr3上安 ...
- 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4 ...
随机推荐
- debian8 vga 文本模式下出现闪屏
这种问题是因为 grub 里面关于 分辨率大小不对的问题. 在 debian 里面,在文件 /boot/grub/grub.cfg 里面可以添加 vga 参数配置. 如下: 在 kernel 启动参数 ...
- java中为什么notify()可能会导致死锁,而notifyAll()则不会
简单的说,notify()只唤醒一个正在等待的线程,当该线程执行完以后施放该对象的锁,而没有再次执行notify()方法,则其它正在等待的线程 则一直处于等待状态,不会被唤醒而进入该对象的锁的竞争池, ...
- Hive、Inceptor数据倾斜详解及解决
一.倾斜造成的原因 正常的数据分布理论上都是倾斜的,就是我们所说的20-80原理:80%的财富集中在20%的人手中, 80%的用户只使用20%的功能 , 20%的用户贡献了80%的访问量. 俗话是,一 ...
- Ubuntu tricks
linux 复制文件夹内所有文件到另一个文件夹 cp -Rf /home/user1/* /root/temp/ 将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user ...
- log4net记录多个级别文件
https://www.cnblogs.com/AprilBlank/p/12047757.html
- [精] UBOOT2017+FIT 启动流程详尽分析
开发环境:Nanopi-neo-plus2 软件版本:uboot-2017 软件版本:linux-4.14 买这个板子有一段时间了,并没有全身心的投入在上面,有时间了的话就搞一搞, 这篇随笔算是对这个 ...
- Highcharts 宽度溢出容器
1,设置Highcharts的动态宽高. 获取Highcharts图表需要的宽高值,给到Highcharts图表的div容器. 如:var hpvCountSendDateHei = $(" ...
- Mybatis 批量插入带oracle序列例子+ORA-02287: 此处不允许序号
在使用mybatis进行批量插入时,发现对于使用Oracle的自动增长序列时提示 : ORA-02287: 此处不允许序号 的错误,下面的这种使用可以解决问题: <!-- 批量插入 --> ...
- Java多线程编程(1)--Java中的线程
一.程序.进程和线程 程序是一组指令的有序集合,也可以将其通俗地理解为若干行代码.它本身没有任何运行的含义,它只是一个静态的实体,它可能只是一个单纯的文本文件,也有可能是经过编译之后生成的可执行文 ...
- Word 图片表格自动编号、交叉引用、批量更改图片标题格式、生成图录和表录
1. 前言 论文往往里往往需要插入很多图片,下放需要标上 图a-b,其中 a 是章节号码,b是该章节中第几张图.比如第一章第二副图就是 图1-2.但是有个问题,每次我们插入了一张图或删掉了一张,前后的 ...