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. CVE-2020-5902 F5 BIG-IP 远程代码执行RCE

    cve-2020-5902 : RCE:curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd. ...

  2. for循环与嵌套(水仙花数与三角形的打印)

    ## 一.for循环语法:for(开始区间: 结束区间; 修改循环条件){ 循环体:} > 开始区间:初始化表达式(确定开始)int i = 1; > 结束区间:逻辑表达式(确定结束) i ...

  3. 小白pytorch安装以及初步了解

    安装遇到的几个坑: 1创建虚拟环境的时候出现Proceed ([y]/n)? 询问你是否覆盖旧版本,在命令行输入y即可进行下一步的安装操作了 安装pytorch前先了解 pytorch:一个开源pyt ...

  4. 如何让touchmove之后不触发touchend的事件

    手机扫码看效果 不多说,直接上代码 <ul id="Ul"> <li>111</li> <li>222</li> < ...

  5. IOS中input键盘事件keyup 的兼容解决办法

    用input监听键盘keyup事件,在安卓手机浏览器中是可以的,但是在ios手机浏览器中很慢,用输入法输入之后,并未立刻相应keyup事件. 解决办法: 在ios设备上可以用html5的input事件 ...

  6. pytest框架的安装与使用

    pytest框架的安装与使用 一,pytest了解 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高. ...

  7. 计算机网络学习socket--day2

    1.TCP客户/服务器模型(C/S) 2.回射客户/服务器模型 3.socket.bind.listen.accept.connect ||------------------------------ ...

  8. Ethical Hacking - NETWORK PENETRATION TESTING(6)

    Creating a fake access point (honeypot) Fake access points can be handy in many scenarios, one examp ...

  9. 题解 CF1359A 【Berland Poker】

    题意 给出 \(n,m,k\) ,表示 \(k\) 名玩家打牌,共 \(n\) 张牌,\(m\) 张王,保证 \(k|n\) ,记得分为 拿到最多王的玩家手中王数 \(-\)拿到第二多王的玩家手中的王 ...

  10. StringBuilder和 String的区别?

    String在进行运算时(如赋值.拼接等)会产生一个新的实例,而 StringBuilder则不会.所以在大 量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 S ...