MYSQL-MGR架构配置
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架构配置的更多相关文章
- MySQL主从架构配置
MySQL主从架构配置有两台MySQL数据库服务器master和slave,master为主服务器,slave为从服务器,初始状态时,master和slave中的数据信息相同,当master中的数据发 ...
- Mysql MGR架构误操作引发的问题处理
[背景介绍] 故障方描述:一次用户刷权限的时候不小心把数据库用户表记录删掉了,执行之后发现不对后重建用户,杀掉进程后重新MGR启动报错. [报错信息] 2018-06-13T12:47:41.4055 ...
- MySQL 主从架构配置详解
无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写 ...
- mysql主从复制架构配置
第一个mysql1.下载mysql,解压,移动解压后的目录到指定目录下. 如:mv /usr/local/src/mysql-5.1.. /usr/local/mysql 创建mysql用户, use ...
- MySQL金融应用场景下跨数据中心的MGR架构方案(1)
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 0. 内容提纲 运行环境 部署MGR A&B 部署MGR A.B之间的复制通道 几个注意事项 如何在多个数据中心部 ...
- 转载-Mysql主主复制架构配置
Mysql主主复制架构配置 转载:原始出处 http://luoweiro.blog.51cto.com/2186161/658550MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服 ...
- Mysql主从架构的复制原理及配置详解
一.简述Mysql复制 Mysql复制是通过将mysql的某一台主机的数据复制到其他主机(slaves)上,并且在slaves上重新执行一遍来实现.主服务器每次数据操作都会将更新记录到二进制日志文件, ...
- MGR架构~单写模式架构的搭建
一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗 二 环境: mysql5.7.20 单台机器 启动三实例 三 mysql 搭建: 1 建立相关目录+ mkdir -p /data ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Amoeba for MySQL读写分离配置
一. 安装和运行Amoeba 1. Amoeba for MySQL 架构: 2. 验证Java的安装Amoeba框架是基于Java SE1.5开发的,建议使用Java SE1.5以上的版本 ...
随机推荐
- 栈的压入、弹出序列(剑指offer-21)
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- day40 线程
目录 一.开启线程的两种方式 二.用进程和线程分别实现tcp 三.线程对象实现join方法 四.同一个进程下的多个线程数据是共享的 五.线程对象属性及其他方法 六.守护线程 七.线程互斥锁 八.GIL ...
- JavaScript学习 Ⅲ
六. 面向对象 对象属于一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性. 对象分类 内建对象 由ES标准种定义的对象.比如:Math String Number 宿主对象 由JS的运行环 ...
- 用nodejs实现向文件的固定位置插入内容
往文件的固定的行写入数据: 需要用到时nodejs的fs模块和path模块 用到fs模块的方法 readFileSync & writeFileSync : readFileSync 是读取文 ...
- MYSQL 之 JDBC(二): 数据库连接(二)通过DriverManager获取数据库连接
通过DriverManager获取数据库连接 修改一下配置文件 driver=com.mysql.cj.jdbc.Driver jdbcUrl=jdbc:mysql://localhost:3306/ ...
- Resource exhausted: OOM when allocating tensor with shape[3,3,384,384] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0。。。。。
报错信息: OP_REQUIRES failed at assign_op.h:111 : Resource exhausted: OOM when allocating tensor with sh ...
- node最简单的本地服务搭建
**1.首先需要安装node** [node下载链接](http://nodejs.cn/download/)**2.需要安装http的镜像文件** npm install http-server - ...
- 【JS代码压缩】使用YUI Compressor对js文件进行压缩处理
概述 在使用html5开发Hybird APP的时候,可能会引入大量的js包,另外对于一些核心的js文件,进行一些特殊的处理, 如压缩和加密就显得很重要了,YUI Compressor就是这样一个用于 ...
- bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛*
bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛 题意: 依次给出n只奶牛的产奶时间段,求最大的k使得前k只奶牛不存在一个时间段被另一个时间段完全覆盖的情况.n≤1 ...
- 学会Markdown不仅可以用来编写文档,还可以制作自己的简历,真香!
程序员的简历要简洁明了,不要太多花哨的修饰,突出重点即可,使用markdown就可以很好的满足写一份简历的需求 Markdown 简历模板 这里我贡献一下我自己的markdown简历模板,简历效果如下 ...