mysql 第四十五篇文章~初探MGR

一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗

二 环境: mysql5.7.20  单台机器 启动三实例

三  mysql 搭建:

1 建立相关目录+

mkdir -p /data/mysql/data_3306

mkdir -p /data/mysql/data_3307

mkdir -p /data/mysql/data_3308

2 脚本初始化

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3306

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3307
    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3308

3 修改密码

mysql -uroot -S /tmp/mysql_3306.sock -e "set password for ‘root‘@‘localhost‘ = password(‘test‘);"

mysql -uroot -ptest -S /tmp/mysql_3306.sock -e "flush privileges"

mysql -uroot -S /tmp/mysql_3307.sock -e "set password for ‘root‘@‘localhost‘ = password(‘test‘);"
   mysql -uroot -ptest -S /tmp/mysql_3307.sock -e "flush privileges"

mysql -uroot -S /tmp/mysql_3308.sock -e "set password for ‘root‘@‘localhost‘ = password(‘test‘);"
   mysql -uroot -ptest -S /tmp/mysql_3308.sock -e "flush privileges"

4  启动命令

nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3306.cnf &

nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3307.cnf &
    nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3308.cnf &

四 MGR配置

1 配置文件添加

gtid_mode = ON

enforce_gtid_consistency = ON

master_info_repository = TABLE
     relay_log_info_repository = TABLE
     binlog_checksum = NONE
     log_slave_updates = ON
     transaction_write_set_extraction = XXHASH64
     loose-group_replication_group_name="01e5fb97-be64-41f7-bafd-3afc7a6ab555"
     loose-group_replication_start_on_boot=off
     loose-group_replication_local_address="127.0.0.1:13306"//除了此处不同 其他都相同
     loose-group_replication_group_seeds="127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308"
     loose-group_replication_bootstrap_group = off

2 重启服务,分别创建复制账户

set sql_log_bin=0;

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘repl‘@‘%‘ IDENTIFIED BY ‘repl‘;
       flush privileges;
       set sql_log_bin=1;

3 主节点执行

change master to master_user=‘repl‘,master_password=‘repl‘ for channel ‘group_replication_recovery‘;
      install plugin group_replication soname ‘group_replication.so‘;
      set global group_replication_bootstrap_group=ON;
      START group_replication;
      set global group_replication_bootstrap_group=OFF;

4 从节点执行

change master to master_user=‘repl‘,master_password=‘repl‘ for channel ‘group_replication_recovery‘;
      install plugin group_replication soname ‘group_replication.so‘;
      START group_replication;

5  查看状态

select * from performance_schema.replication_group_members;

三个成员均为online 则代表搭建成功

6 查看主成员

1 select variable_value from performance_schema.global_status where variable_name =‘group_replication_primary_member‘;  获取主UUID

2  select * from performance_schema.replication_group_members; 根据UUID确定primary

7 测试

1 建立一个拥有主键的表并插入数据(MGR架构下表必须拥有主键)

2 查看其他节点是否拥有数据

五 说明

这篇文章是单主的MGR的第一次尝试,以后会继续补充

时间: 2024-08-30 10:34:04

mysql 第四十五篇文章~初探MGR的相关文章

mysql 第三十五篇文章~xtarbackup增量备份以及策略

一 简介: 今天咱们来探讨下增量备份的策略 二 背景: 随着数据量的日益增长,全备已经不现实了,所以探讨并测试了增量备份策略 三 具体策略: 1  一周为界限,一天做全备,其他时间以全备为基础进行增量备份 2  一周为界限,进行打包,然后上传到备份服务器 四 具体脚本: 第一部分 参数变量初始化 #!/bin/bash #config xingqi=`date +%w` DATE=`date +%Y%m%d%H` DATEyst=`date +"%Y%m%d%H" -d "-

mysql 第十五篇文章~mycat常用管理命令

一 简介:今天咱们来聊聊mycat的管理功能二 前沿:mycat的常用管理命令需要掌握三 常用命令:   1 登录命令: mysql -uuser -ppassword -P 9066 -h 127.0.0.1 mycat管理用户的配置在server.xml中   2 Show @@backend ;查看后端host列表   3 show @@heartbeat;       | NAME | TYPE | HOST | PORT | RS_CODE | RETRY | STATUS | TIM

mysql 第二十五篇文章~相关分片功能的测试五

一 简介:今天咱们来进行测试 二分片规则 sharding-by-murmur 1 table 相关配置  <tableRule name="sharding-by-murmur"> <rule> <columns>id</columns> <algorithm>murmur</algorithm> </rule> </tableRule> 2 function 相关配置 <funct

mysql 第三十九篇文章~canal的深度解读1

一 简介:经过一段时间的研究,对canal有了一些见解 二 配置文件: 1 canal.properties (系统根配置文件)     主要参数列表   canal.properties (系统根配置文件)   canal.destinations= example 当前server上部署的instance列表 默认为example 在canal.properties定义了canal.destinations后,需要在canal.conf.dir对应的目录下建立同名的文件 canal.auto

mysql 第三十二篇文章~并发导致的从库延迟问题

一 简介:今天来聊聊周期性从库延迟的问题 二 背景:近期每天的指定时间段,收到从库延迟的报警,然后过一段时间恢复.由于从库是提供读服务的,所以需要解决 三 分析思路: 1 周期性延时,而且全部从库都出现延迟,应该是由于主库的DML操作引起的 2 查看主库的慢日志记录(我们的数据库会每小时进行切割),也并没有发生DML慢语句,排除因为慢sql(DML操作)导致的问题,主库的DML操作如果出现慢语句,同步到从库会更慢,比如update,delete语句 3 查看从库的慢日志记录,是否出现DML慢语句

Python之路(第四十五篇)线程Event事件、 条件Condition、定时器Timer、线程queue

一.事件Event Event(事件):事件处理的机制:全局定义了一个内置标志Flag,如果Flag值为 False,那么当程序执行 event.wait方法时就会阻塞,如果Flag值为True,那么event.wait 方法时便不再阻塞. Event其实就是一个简化版的 Condition.Event没有锁,无法使线程进入同步阻塞状态. Event() set(): 将标志设为True,并通知所有处于等待阻塞状态的线程恢复运行状态. clear(): 将标志设为False. wait(time

第四十五篇、UITableViewCell高度计算

由于tableView:heightForRowAtIndexPath:方法的调用频率非常高,如果将cell高度的计算过程放在此方法中,那么效率将会非常的低,快速tableview就会出现卡顿 1.通过代码 (在模型当中只计算一次cell高度,然后在方法中直接从模型属性当中取出cell高度) #import <UIKit/UIKit.h> @interface CellItem : NSObject /**cell高度*///表明不能在外部修改 @property (nonatomic, as

Python之路【第四十五篇】:django日更

from django.contrib import admin from app01.models import * # Register your models here. # @admin.register(Book)#----->单给某个表加一个定制 class MyAdmin(admin.ModelAdmin): list_display = ("title","price","publisher") search_fields

秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题 在<秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量>中对经典多线程同步互斥问题进行了回顾和总结,这篇文章对Windows系统下常用的线程同步互斥机制——关键段.事件.互斥量.信号量进行了总结.有网友问到互斥量能处理“遗弃”问题,事件和信号量是否也能处理“遗弃”问题.因此本文将对事件和信号量作个试验,看看事件和信号量能否处理“遗弃”问题. 一.