mysql组复制跨机房_mysql组复制group replication

本篇遗失

以下是多主模式的组复制搭建过程。需要至少三个节点。其中一个节点作为引导。先备份引导节点的数据到其他节点恢复,启动组复制后会自动读取备份后的binlog并apply。

三个节点都配置my.cnf。其中server-id和group_replication_local_address不同,其他一样。

[mysqld]

server-id = 100

character_set_server=utf8

max_allowed_packet = 16M

lower_case_table_names=1

basedir=/opt/mysql

datadir=/opt/mysql/data

user=mysql

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

innodb_flush_log_at_trx_commit = 1

innodb_buffer_pool_size = 2G

log-bin=mysql-bin

log_slave_updates=on

sync_binlog=1

transaction_isolation = READ-COMMITTED

binlog_format=row

binlog_checksum=NONE

gtid_mode=on

enforce_gtid_consistency=on

master_info_repository=TABLE

relay_log_info_repository=TABLE

transaction_write_set_extraction=XXHASH64

slave_parallel_workers=4

slave_parallel_type=LOGICAL_CLOCK

slave_preserve_commit_order=1

loose-group_replication_group_name='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'

loose-group_replication_ip_whitelist='192.168.252.0/24'

loose-group_replication_start_on_boot=off

loose-group_replication_bootstrap_group=off

loose-group_replication_local_address='192.168.252.11:33061'

loose-group_replication_group_seeds='192.168.252.11:33061,192.168.252.12:33061,192.168.252.13:33061'

loose-group_replication_single_primary_mode=false

loose-group_replication_enforce_update_everywhere_checks=true

在三个节点分别创建复制账号

set sql_log_bin=0;

grant replication slave on *.* to rpl_user@'%' identified by '1234@pass';

flush privileges;

set sql_log_bin=1;

所有节点安装组复制插件:

INSTALL PLUGIN group_replication SONAME 'group_replication.so';

所有节点配置组复制认证信息:

change master to master_user='rpl_user',master_password='1234@pass' for channel 'group_replication_recovery';

在引导节点上启动组复制:

mysql> set global group_replication_bootstrap_group=on;

Query OK, 0 rows affected (0.00 sec)

mysql> start group_replication;

Query OK, 0 rows affected (2.19 sec)

查看状态:

select * from performance_schema.replication_group_members;

+---------------------------+--------------------------------------+-------------+-------------+--------------+

| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |

+---------------------------+--------------------------------------+-------------+-------------+--------------+

| group_replication_applier | 6b28ec0f-612d-11eb-b0bd-000c2919d4a1 | mysqla      |        3306 | ONLINE       |

+---------------------------+--------------------------------------+-------------+-------------+--------------+

MEMBER_STATE为ONLINE,就可以关闭初始化引导。

set global group_replication_bootstrap_group=off;

最后,其他节点也可以启动组复制:

start group_replication;

此时查看状态:

select * from performance_schema.replication_group_members;

+---------------------------+--------------------------------------+-------------+-------------+--------------+

| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |

+---------------------------+--------------------------------------+-------------+-------------+--------------+

| group_replication_applier | 5a982837-61fa-11eb-85f6-000c29bfac40 | mysqlc      |        3306 | ONLINE       |

| group_replication_applier | 5a9a7f4a-61fa-11eb-83c0-000c29b78cc3 | mysqlb      |        3306 | ONLINE       |

| group_replication_applier | 6b28ec0f-612d-11eb-b0bd-000c2919d4a1 | mysqla      |        3306 | ONLINE       |

+---------------------------+--------------------------------------+-------------+-------------+--------------+

3 rows in set (0.00 sec)

如果MEMBER_STATE不是ONLINE,需检查错误日志查看原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值