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. 协同合约HACKATHON 0X03;

    协同合约HACKATHON 0X03; 使用Fetch.AI技术开发一个共享行程协同合约.超过100,000个FET代币奖励. 介 绍 拼车是对你的钱包和环境都非常有益的,因此UberPool™等共享 ...

  2. ASP.NET网页请求以及处理全过程(反编译工具查看源代码)

    本文是自己查看源码后的个人总结,不保证其准确性.大家可作为参考. 浏览器和服务器之间的通信. 当敲一个域名到浏览器上面,然后回车的时候,如:http://www.baidu.com/index.asp ...

  3. day76 作业

    目录 需求: 作业1: 作业2: 需求: 1. 在作业1.html代码的基础上,引入vue.js文件,并实例化vm对象,绑定#goods元素 2. 在作业1.html代码的基础上,默认中间弹出窗口隐藏 ...

  4. python实现二维码、条形码识别

    环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...

  5. requests接口自动化2-url里不带参数的get请求

    最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...

  6. redis(七):Redis 字符串(String)(python)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host="123.516.74.190 ...

  7. row_number() over()排序功能说明

    1.row_number() over()排序功能: (1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排 ...

  8. 关于git,无论是命令使用还是深入学习,看我总结就够了

    周五了,又是划水的一下午,无意中在某号上发现了这样一张图,说的内容很简单,就是我们日常离不开的git,可能因为最近github宕机,网传服务器被盗的新闻把,让我瞬间产生了兴趣,就点进去看一下 大家能看 ...

  9. 47 张图带你 MySQL 进阶!!!

    我们在 MySQL 入门篇主要介绍了基本的 SQL 命令.数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我 ...

  10. [redis] -- 缓存雪崩和缓存穿透、缓存击穿问题解决方案篇

    缓存雪崩 缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉 解决方案 事前:尽量保证整个redis集群的高可用性,发现机器宕机尽快补上.选择合适的内存淘 ...