MGR安装:
机器列表:
pc-s4 s4 --2
pc-s3 s3 --1
pc-s1 s1 --1
pc-s2 s2 --1

1,为初始化搭建,2,为后续添加

对1 三个数据库先进行初始化
=============================================================================
vi /etc/security/limits.conf
mysql soft nproc 16384
mysql hard nproc 16384
mysql soft nofile 65536
mysql hard nofile 65536
mysql soft stack 10240

groupadd mysql
useradd -d /home/mysql -g mysql mysql
# passwd mysql
----------------------------------------------------------------------------
PATH=$PATH:$HOME/bin

export PATH
export PATH=/app/mysql/bin:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/app/percona-xtrabackup/bin:/app/percona-toolkit/bin
export MYSQL_HOME=/app/mysql
export MYSQL_PS1="\\u@\\h [\\d] \\r:\\m:\\s>>>"
export MYSQL_UNIX_PORT=/tmp/mysql.sock
#export MYSQL_PWD
#export MYSQL_TCP_PORT=3306
---------------------------------------------------------------------------
mkdir -p /data/mysqldata
mkdir -p /data/logs
mkdir -p /data/redolog
mkdir -p /data/undolog
mkdir -p /data/ibdata
mkdir -p /data/binlog

chown -R mysql:mysql /app/mysql
chown -R mysql:mysql /data/mysqldata
chown -R mysql:mysql /data/logs
chown -R mysql:mysql /data/redolog
chown -R mysql:mysql /data/undolog
chown -R mysql:mysql /data/binlog
chown -R mysql:mysql /data/ibdata

tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
ln -s /app/mysql-8.0.20-linux-glibc2.12-x86_64 /app/mysql

cd /app/mysql

cat>>my.cnf
--------------------------------------my.cnf 参数添加
#对于组复制,数据必须存储在InnoDB事务存储引擎中
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

#组复制对于某些参数的要求,以下参数按照环境修改
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE

log_bin=binlog
log_slave_updates=ON
binlog_format=ROW
master_info_repository=TABLE
relay_log_info_repository=TABLE

#组复制设置参数
transaction_write_set_extraction=XXHASH64
plugin_load_add='group_replication.so'
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"#设置一个有效值即可,可以用select uuid()生成
group_replication_start_on_boot=off
group_replication_local_address= "s1:33061"
group_replication_group_seeds= "s1:33061,s2:33061,s3:33061"
group_replication_bootstrap_group=off

s1 my.cnf 参考 ---后面两台根据这个调整ip,server-id ,组复制参数先不添加,初始化完成后,再添加重启。
[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8

[mysqld]
#***********************************common parameters******************************
#skip-slave-start
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
character-set-server=utf8
default-time-zone='+8:00'
default-storage-engine = INNODB
port=3306
pid-file=/data/mysqldata/mysql.pid
socket=/tmp/mysql.sock
basedir=/app/mysql
datadir=/data/mysqldata
transaction_isolation = READ-COMMITTED

#MGR
server-id = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="3db33b36-0e51-409f-a61d-c99756e90155"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "s1:23306"
loose-group_replication_group_seeds= "s2:23306,s3:23306,s4:23306"
loose-group_replication_bootstrap_group= off
loose-group_replication_single_primary_mode=true
loose-group_replication_enforce_update_everywhere_checks=false
loose-group_replication_ip_whitelist='s1,s2,s3,s4' ---白名单添加需先停止该节点group_replication

#MGR

skip-name-resolve
skip_external_locking
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
innodb_strict_mode = 1
log_bin_trust_function_creators = 1

max_connections = 3000
max_user_connections=2000
back_log=512
max_connect_errors=99999
max_allowed_packet = 128M
max_heap_table_size = 16M
tmp_table_size = 16M
max_length_for_sort_data = 16k
lower-case-table-names=1
table_open_cache = 2048
table_open_cache_instances = 2
table_definition_cache = 2048
thread_cache_size = 512

wait_timeout=200
interactive_timeout=28800
#***********************************thread parameters******************************
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 16M
sort_buffer_size = 2M
join_buffer_size = 4M
binlog_cache_size = 2M
#******************************* Logs related settings ***************************
#error and slow logs
log_timestamps=SYSTEM
log_error=/data/logs/error.log
long_query_time = 2
slow_query_log = 1
slow_query_log_file=/data/logs/slow-query.log

#binlog
log-bin=/data/binlog/mysql-bin
expire_logs_days = 7
sync_binlog=1

server-id=1003
#******************************* Replication related settings **********************
gtid-mode=on # GTID only
enforce-gtid-consistency=true # GTID only
log-slave-updates
explicit_defaults_for_timestamp=true

# ***************************** INNODB Specific options *****************************
#### Data options
innodb_data_home_dir =/data/ibdata
innodb_data_file_path=ibdata1.dbf:2048M;ibdata2.dbf:2048M:autoextend
innodb_file_per_table = 1

#### Buffer Pool options
innodb_buffer_pool_size = 12G
innodb_buffer_pool_instances=8
innodb_max_dirty_pages_pct = 50
innodb_adaptive_flushing = ON
innodb_flush_neighbors = 0
innodb_change_buffering = ALL
innodb_old_blocks_time = 1000

#### Redo options
innodb_log_group_home_dir=/data/redolog
innodb_log_files_in_group = 4
innodb_log_buffer_size=128M
innodb_log_file_size=1024M
innodb_flush_log_at_trx_commit = 1

#### Transaction options
innodb_lock_wait_timeout = 120
innodb_rollback_on_timeout = 1

#### IO options
performance_schema=off
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_io_capacity = 2000
innodb_use_native_aio = 1

#### Undo options
innodb_undo_directory =/data/undolog
innodb_purge_threads = 4
innodb_purge_batch_size = 512
innodb_max_purge_lag = 65536
innodb_undo_log_truncate=on
innodb_max_undo_log_size=2048M

#### temp tablespace
innodb_temp_data_file_path=temp01.dbf:512M;temp02.dbf:512M

#### optimizer
optimizer_switch='index_condition_pushdown=on'
optimizer_switch='mrr=on'
optimizer_switch='batched_key_access=on'

# ***************************** OTHER Specific options *****************************
[mysql]
#no-auto-rehash
auto-rehash
show-warnings
prompt="\\u@\\h : \\d \\r:\\m:\\s>>> "
default-character-set = utf8

[mysqld_safe]
user=root
open-files-limit = 8192

[mysqldump]
quick
max_allowed_packet = 64M
default-character-set = utf8

初始化及启动
./bin/mysqld --defaults-file=my.cnf --initialize-insecure
./bin/mysqld_safe --defaults-file=my.cnf &

节点1:
SET SQL_LOG_BIN=0;
create user rpl@'%' identified WITH sha256_password by 'rpl';
grant replication slave on *.* to rpl@'%';
SET SQL_LOG_BIN=1;
change master to master_user='rpl',master_password='rpl' for channel 'group_replication_recovery';

install plugin group_replication soname 'group_replication.so'; --安装组复制插件

select * from mysql.plugin;

SET GLOBAL group_replication_bootstrap_group=ON; --启动组引导
START GROUP_REPLICATION; --启动组复制
SET GLOBAL group_replication_bootstrap_group=OFF;

select * from performance_schema.replication_group_members;--查看组成员

节点2,3:

SET SQL_LOG_BIN=0;
create user rpl@'%' identified WITH sha256_password by 'rpl';
grant replication slave on *.* to rpl@'%';
SET SQL_LOG_BIN=1;
change master to master_user='rpl',master_password='rpl' for channel 'group_replication_recovery';

install plugin group_replication soname 'group_replication.so'; --安装组复制插件

select * from mysql.plugin;
START GROUP_REPLICATION; --启动组复制
select * from performance_schema.replication_group_members;--查看组成员

运行一段时间后
MGR节点添加:

s4

数据量小,MYSQLDUMP同步数据:

数据量较大:xtrabackup 或其他方式同步数据 -----xtrabackup 同步数据后需要在新加节点点,设置 gtid_purged

修改 原有MGR成员组白名单及组成员信息
添加新加节点信息
group_replication_group_seeds
group_replication_ip_whitelist ----需停止该节点组复制后才能更改。

---
新节点数据导入后启动组复制--
change master to master_user='rpl',master_password='rpl' for channel 'group_replication_recovery';

install plugin group_replication soname 'group_replication.so';

start group_replication;

查看组成员信息:
select * from performance_schema.replication_group_members;

MYSQL-MGR架构配置的更多相关文章

  1. MySQL主从架构配置

    MySQL主从架构配置有两台MySQL数据库服务器master和slave,master为主服务器,slave为从服务器,初始状态时,master和slave中的数据信息相同,当master中的数据发 ...

  2. Mysql MGR架构误操作引发的问题处理

    [背景介绍] 故障方描述:一次用户刷权限的时候不小心把数据库用户表记录删掉了,执行之后发现不对后重建用户,杀掉进程后重新MGR启动报错. [报错信息] 2018-06-13T12:47:41.4055 ...

  3. MySQL 主从架构配置详解

    无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写 ...

  4. mysql主从复制架构配置

    第一个mysql1.下载mysql,解压,移动解压后的目录到指定目录下. 如:mv /usr/local/src/mysql-5.1.. /usr/local/mysql 创建mysql用户, use ...

  5. MySQL金融应用场景下跨数据中心的MGR架构方案(1)

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 0. 内容提纲 运行环境 部署MGR A&B 部署MGR A.B之间的复制通道 几个注意事项 如何在多个数据中心部 ...

  6. 转载-Mysql主主复制架构配置

    Mysql主主复制架构配置 转载:原始出处 http://luoweiro.blog.51cto.com/2186161/658550MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服 ...

  7. Mysql主从架构的复制原理及配置详解

    一.简述Mysql复制 Mysql复制是通过将mysql的某一台主机的数据复制到其他主机(slaves)上,并且在slaves上重新执行一遍来实现.主服务器每次数据操作都会将更新记录到二进制日志文件, ...

  8. MGR架构~单写模式架构的搭建

    一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗 二 环境: mysql5.7.20  单台机器 启动三实例 三  mysql 搭建: 1 建立相关目录+ mkdir -p /data ...

  9. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  10. Amoeba for MySQL读写分离配置

    一.      安装和运行Amoeba 1. Amoeba for MySQL 架构: 2. 验证Java的安装Amoeba框架是基于Java SE1.5开发的,建议使用Java SE1.5以上的版本 ...

随机推荐

  1. 31道Java核心面试题,一次性打包送给你

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  2. Docker-教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...

  3. 从0开始,手把手教你用Vue开发一个答题App

    项目演示 项目演示 项目源码 项目源码 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把 ...

  4. 安装visual stdio 2017后依然报错:Unable to find vcvarsall.bat

    安装visual stdio 2017后依然报错:Unable to find vcvarsall.bat 解决办法:更新setuptools 原文章:https://blog.csdn.net/wl ...

  5. Python之 爬虫(二十三)Scrapy分布式部署

    按照上一篇文章中我们将代码放到远程主机是通过拷贝或者git的方式,但是如果考虑到我们又多台远程主机的情况,这种方式就比较麻烦,那有没有好用的方法呢?这里其实可以通过scrapyd,下面是这个scrap ...

  6. CRM【第三篇】: crm业务

    1. 项目背景 crm系统是某某教育公司正在使用的项目,系统主要为 销售部.运营部.教质部门提供管理平台,随着公司规模的扩展,对公司员工的业务信息量化以及信息化建设越来越重要. crm系统为不同角色的 ...

  7. Spring AOP里的静态代理和动态代理,你真的了解嘛?

    什么是代理? 为某一个对象创建一个代理对象,程序不直接用原本的对象,而是由创建的代理对象来控制原对象,通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护委托类对象,同时也为 ...

  8. Ethical Hacking - Web Penetration Testing(2)

    INFORMATION GATHERING IP address. Domain name Info. Technologies used. Other websites on the same se ...

  9. 【工具】- HttpClient篇

    简介 对于httpclient,相信很多人或多或少接触过,对于httpclient的使用姿势,相信很多人会有疑问?下面这边会通过代码说明 package xxx; import org.apache. ...

  10. 最简单的VScode Python 开发环境配置以及中文化

    前置条件 Python 3.X(2020年了,建议使用Python3.X版本) 一.下载VSCode VSCode官方下载链接 由于安装过程是中文界面,此处略过. 二.VSCode中文化 不需要配置什 ...