文章目录
  
  1、安装mysql
  
  2、修改配置文件:
  
  3、安装group_replicatin插件,启动group_replication
  
  4、添加节点node-02 node-03:
  
  有关复制组的相关原理介绍:http://note.youdao.com/noteshare?id=9eb41d6de1af00e41314297282a43bc1
  
  环境:
  
  ip hostname
  
  192…168.8.80 node-01
  
  192…168.8.81 node-02
  
  192…168.8.83 node-03
  
  1、安装mysql
  
  [root@mysql]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm
  
  [root@mysql]# yum -y install Percona-Server-server-57
  
  [root@mysql]# cat /var/log/mysqld.log |grep "root@localhost"
  
  2018-11-02T05:41:32.373113Z 1 [Note] A temporary password is generated for root@localhost: m-3SAGso6w43
  
  [root@mysql]# mysql -uroot -pm-3SAGso6w43
  
  mysql> show variables like '%vali%';
  
  mysql> set global validate_password_length=4;
  
  mysql> alter user 'root'@'localhost' identified by 'root123';
  
  2、修改配置文件:
  
  my.cnf配置文件里修改参数: server-id、loose-group_replication_local_address
  
  [mysqld]
  
  pid-file=/var/run/mysqld/mysqld.pid
  
  log-error=/var/log/mysqld.log
  
  datadir=/var/lib/mysql
  
  socket=/var/lib/mysql/mysql.sock
  
  # Disabling symbolic-links is recommended to prevent assorted security risks
  
  symbolic-links=0
  
  # Settings user and group are ignored when systemd is used.
  
  # If you need to run mysqld under a different user or group,
  
  # customize your systemd unit file for mariadb according to the
  
  # instructions in http://fedoraproject.org/wiki/Systemd
  
  server-id = 101
  
  log-bin = master-bin
  
  log-bin-index = master-bin.index
  
  binlog_format = row
  
  gtid-mode = ON
  
  enforce-gtid-consistency = ON
  
  log-bin=mysql-bin
  
  log-slave-updates
  
  master_info_repository=TABLE
  
  relay_log_info_repository=TABLE
  
  binlog_checksum=NONE
  
  ## group replication 配置
  
  #如果server启动时尚未加载复制插件,group_replicaton 变量使用loose-前缀将指示server继续启动。
  
  transaction_write_set_extraction=XXHASH64 #表示server必须为每个事物收集写集合,并使用XXHASH64 哈希算法将其编码为散列。
  
  loose_group_replication_start_on_boot=OFF
  
  loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
  
  loose-group_replication_start_on_boot=off
  
  loose-group_replication_local_address="192..168.8.80:33061"
  
  loose-group_replication_group_seeds="192..168.8.80:33061,192..168.8.81:33061,192..168.8.83:33061"
  
  loose-group_replication_bootstrap_group= off
  
  loose-group_replication_single_primary_mode=FALSE
  
  loose-group_replication_enforce_update_everywhere_checks= TRUE
  
  loose-group_replication_ip_whitelist="192..168.8.80,192..168.8.81,192..168.8.83"
  
  [mysqld_safe]
  
  log-error=/var/log/mariadb/mariadb.log
  
  pid-file=/var/run/mariadb/mariadb.pid
  
  #
  
  # include all files from the config directory
  
  #
  
  !includedir /etc/my.cnf.d
  
  3、安装group_replicatin插件,启动group_replication
  
  [root@mysql]# mysql -uroot -proot123
  
  mysql> set sql_log_bin=0;
  
  mysql> grant replication slave on *.* to 'rep'@'%' identified by 'rep123';
  
  mysql> flush privileges;
  
  mysql> set sql_log_bin=1;
  
  mysql> change master to master_user=www.mcyllpt.com 'rep',master_password='rep123' for channel 'group_replication_recovery';
  
  mysql> install plugin group_replication soname 'group_replication.so';
  
  mysql> show plugins;
  
  +-----------------------------+----------+--------------------+----------------------+---------+
  
  | Name | Status | Type | Library | License |
  
  +-----------------------------+----------+--------------------+----------------------+---------+
  
  | group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL |
  
  +-----------------------------+----------+--------------------+----------------------+---------+
  
  mysql> set global group_replication_bootstrap_group=ON;
  
  mysql> start group_replication;
  
  mysql> set global group_replication_bootstrap_group=OFF;
  
  mysql> select * from performance_schema.replication_group_members;
  
  +---------------------------+--------------------------------------+---------------------+-------------+--------------+
  
  | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
  
  +---------------------------+--------------------------------------+---------------------+-------------+--------------+
  
  | group_replication_applier | f38e5798-de61-11e8-91e6-fa163e180951 | node-01 | 3306 | ONLINE |
  
  +---------------------------+--------------------------------------+---------------------+-------------+--------------+
  
  4、添加节点node-02 node-03:
  
  安装mysql、my.cnf 同上
  
  安装group_replicatin插件,启动group_replication
  
  mysql> set sql_log_bin=0;
  
  mysql> grant replication slave on www.xgll521.com *yongshiyule178.com.* to 'rep'@'%' identified by 'rep123';
  
  mysql> flush privileges;
  
  mysql> set sql_log_bin=1;
  
  mysql> change master to master_user='rep',master_password='rep123' for channel 'group_replication_recovery';
  
  mysql> set global group_replication_allow_local_disjoint_www.michenggw.com gtids_join=ON;
  
  mysql> start group_replication;
  
  mysql> select * from performance_www.yigouyule2.cn schema.replication_group_members;
  
  +---------------------------+--------------------------------------+---------------------+-------------+--------------+
  
  | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
  
  +---------------------------+--------------------------------------+---------------------+-------------+--------------+
  
  | group_replication_applier | 433cc62e-dd00-11e8-a653-fa163e4f3761 | node-03 | 3306 | ONLINE |
  
  | group_replication_applier | af4e8b5d-bc99-11e8-9ad1-fa163e230ff6 | node-02 | 3306 | ONLINE |
  
  | group_replication_applier | f38e5798-de61-11e8-91e6-fa163e180951 | node-01 | 3306 | ONLINE |
  
  +---------------------------+--------------------------------------+---------------------+-------------+-------------

mysql5.7 MRG集群部署学习的更多相关文章

  1. mysql5.7.25集群部署和方案设计(附PXC一键部署脚本)

    还记得我们之前部署mysql集群有多麻烦嘛?波哥来救你们啦!~ 我已将项目上传到了我的github仓库中,大家可以点击仓库地址出现的连接登录查看相应的代码!如果觉得不错别忘了转发.点赞哦! 部署步骤: ...

  2. k8s 集群部署--学习

    kubernetes是google开源的容器集群管理系统,提供应用部署.维护.扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母) Pod:若 ...

  3. Elasticsearch学习总结 (Centos7下Elasticsearch集群部署记录)

    一.  ElasticSearch简单介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticse ...

  4. rocketmq学习(二) rocketmq集群部署与图形化控制台安装

    1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...

  5. Docker学习-Kubernetes - 集群部署

    Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...

  6. Quartz学习笔记:集群部署&高可用

    Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...

  7. Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived

    文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...

  8. Cassandra1.2文档学习(7)—— 规划集群部署

    数据参考:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/a ...

  9. kafka学习总结之集群部署和zookeeper

    1.  集群部署 kafka集群的瓶颈主要在网络和磁盘上:kafka依赖于zookeeper,zookeeper集群的节点采用奇数个,3个节点允许一个节点失败,5个节点允许2个节点失败. 图 1 ka ...

随机推荐

  1. 安装docker和更改docker镜像下载目录

    centos6.x系列: yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm yum inst ...

  2. maven-生命周期与插件

    Maven的生命周期是抽象的,具体的操作由插件实现,类似于java的模板设计模式. 1.生命周期 认识生命周期 maven有clean.default.site三种生命周期,每种生命周期都包含一些阶段 ...

  3. I/O流、ZIP文档

    1) ZIP文档通常以压缩格式存储一个或多个文档.在Java中可以用ZipInputStream读入ZIP文档(即解压文件流),用ZipOutputStream写入ZIP文档(即压缩文件流),无论解压 ...

  4. elasticsearch 5.x 系列之三 mapping 映射的时候的各个字段的设置

    首先看来创建一个mapping 来show show: curl -XPUT "master:9200/zebra_info?pretty" -H 'Content-Type: a ...

  5. JDK8新垃圾回收机制--G1垃圾回收机制

    G1全称是Garbage First Garbage Collector,使用G1的目的是简化性能优化的复杂性.例如,G1的主要输入参数是初始化和最大Java堆大小.最大GC中断时间. G1 GC由Y ...

  6. 7 tftp

    1. TFTP协议介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议 特点: ...

  7. 关于实现mybatis order by 排序传递参数实现 问题记录

    一    问题场景:本人项目纯纯的后端系统  并且项目前端采用纯纯的原生js 实现 1)表格  通过查询列表数据放入到域中  前段采用 for循环的方式实现遍历生成列表 2)分页实现本人是公司内部自定 ...

  8. Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)

    Unity 3d C#和Javascript脚本互相调用 解决方案 1.背景知识 脚本的编译过程分四步: 1. 编译所有 ”Standard Assets”, “Pro Standard Assets ...

  9. Asp.NET Core2.0与 EF的ABP框架入门视频教程

    https://ke.qq.com/course/287301?from=qqchat&ADUIN=1187219916&ADSESSION=1522716499&ADTAG= ...

  10. 《python核心编程第二版》第7章习题

    7–1. 字典方法.哪个字典方法可以用来把两个字典合并到一起? 答:dict1.update(dict2) 7–2. 字典的键.我们知道字典的值可以是任意的Python 对象,那字典的键又如何呢?请试 ...