美文网首页
MySQL配置组复制——单主模式

MySQL配置组复制——单主模式

作者: 噜噜迅儿 | 来源:发表于2017-10-24 23:20 被阅读0次
  1. 下载并解压 MySQL Community Server 5.7.20

  2. 由于本教程使用一个物理机,每个MySQL实例都需要一个特定的数据目录,用于存储实例的数据。在名为data的目录中创建数据目录,并初始化每个目录:

mkdir data
mysql-5.7/bin/mysqld --initialize-insecure --explicit_defaults_for_timestamp --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s1
mysql-5.7/bin/mysqld --initialize-insecure --explicit_defaults_for_timestamp --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s2
mysql-5.7/bin/mysqld --initialize-insecure --explicit_defaults_for_timestamp --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s3

3.1 vi $PWD/data/s1/s1.cnf,配置如下:

[mysqld]

# server configuration
datadir=/root/data/s1
basedir=/root/mysql-5.7
port=24801
socket=/root/data/s1/s1.sock

# group replication framework
server_id=1                      # 将server配置为使用唯一识别号1,以启用全局事务标识符
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE     # 将复制元数据存储在系统表(而不是文件)中
relay_log_info_repository=TABLE
binlog_checksum=NONE             # 禁止使用二进制日志事件校验和
log_slave_updates=ON
log_bin=binlog                   # 打开二进制日志记录
binlog_format=ROW                # 使用基于行的格式

# group replication configuration
# 如果在server启动时尚未加载group replication插件,上面group_replication变量使用的loose-前缀将指示server继续启动
transaction_write_set_extraction=XXHASH64                  # 指示server必须为每个事务收集写集合,并使用XXHASH64哈希算法将其编码为散列
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"                # 告知插件,正在加入或创建的组要命名为"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=off                  # 指示插件在server启动时不自动自动group replication
loose-group_replication_local_address="127.0.0.1:24901"    # 告诉插件使用IP地址127.0.0.1或本地主机,端口24901用于接受来自组中其他成员的传入连接
loose-group_replication_group_seeds="127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"    # 当下面这些server需要加入组时,应该连接到这些主机和端口上访问他们
loose-group_replication_bootstrap_group=off                # 指示插件是否自动引导组

3.2 vi $PWD/data/s2/s2.cnf,配置如下:

[mysqld]

# server configuration
datadir=/root/data/s2
basedir=/root/mysql-5.7
port=24802
socket=/root/data/s2/s2.sock

server_id=2
gtid_mode=ON
……中间部分与s1.cnf保持一致……
loose-group_replication_bootstrap_group=off 

3.3 vi $PWD/data/s3/s3.cnf,配置如下:

[mysqld]

# server configuration
datadir=/root/data/s3
basedir=/root/mysql-5.7
port=24803
socket=/root/data/s3/s3.sock

server_id=3
gtid_mode=ON
……中间部分与s1.cnf保持一致……
loose-group_replication_bootstrap_group=off 

4.1 配置s1服务器:

mysql-5.7/bin/mysqld --defaults-file=data/s1/s1.cnf --user=root --explicit_defaults_for_timestamp &    # 启动s1服务器
mysql-5.7/bin/mysql -h127.0.0.1 -uroot -P24801    # 登录s1服务器

# 增加用户
set sql_log_bin=0;
create user rpl_user@'%';
grant replication slave on *.* to rpl_user@'%' identified by '123456';
grant replication slave on *.* to rpl_user@'127.0.0.1' identified by '123456';
flush privileges;
set sql_log_bin=1;

change master to master_user='rpl_user', master_password='123456' for channel 'group_replication_recovery';    # 增加复制凭证
install plugin group_replication soname 'group_replication.so';    # 安装组复制插件
show plugins;    #查看插件

# 引导组
set global group_replication_bootstrap_group=on;
start group_replication;
set global group_replication_bootstrap_group=off;

select * from performance_schema.replication_group_members;     # 检查组是否已经创建并且已加入组

# 创建测试数据
create database test;
use test;
create table t1(c1 int primary key, c2 text not null);
insert into t1 values(1,'a');
select * from test.t1;
show binlog events;

4.2 配置s2服务器:

mysql-5.7/bin/mysqld --defaults-file=data/s2/s2.cnf --user=root --explicit_defaults_for_timestamp &
mysql-5.7/bin/mysql -h127.0.0.1 -uroot -P24802

set sql_log_bin=0;
……中间部分与 4.1 配置s1服务器 保持一致……
show plugins;

# 开始引导组
start group_replication;

# 确认测试数据
show databases;
select * from test.t1;
show binlog events;

4.3 配置s3服务器:

mysql-5.7/bin/mysqld --defaults-file=data/s3/s3.cnf --user=root --explicit_defaults_for_timestamp &
mysql-5.7/bin/mysql -h127.0.0.1 -uroot -P24803

set sql_log_bin=0;
……中间部分与 4.1 配置s1服务器 保持一致……
show plugins;

# 开始引导组
start group_replication;

# 确认测试数据
show databases;
select * from test.t1;
show binlog events;

相关文章

网友评论

      本文标题:MySQL配置组复制——单主模式

      本文链接:https://www.haomeiwen.com/subject/iscfpxtx.html