企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制

1.数据库基础

1.1 什么是数据库?

数据库是一个以某种有组织的方式存储的数据集合
理解数据库的一种最简单的办法是将其想象为一个文件柜,此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。
数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)

数据库软件应称为DBMS(数据库管理系统),数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为你并不直接访问数据库;你使用的是DBMS,它替你访问数据库。

1.2 表

表是一种结构化的文件,可用来存储某种特定类型的数据
表可以保存顾客清单、产品目录,或者其他信息清单

数据库中的每个表都有一个名字,用来标识自己
此名字是唯一的,这表示数据库中没有其他表具有相同的名字
虽然在相同数据库中不能两次使用相同的表名,但在不同的数据库中却可以使用相同的表名

1.3 主键

主键(primary key)一一列(或一组列),其值能够唯一区分表中每个行,唯一标识表中每行的这个列(或这组列)称为主键
创建的每个表具有一个主键,以便于以后的数据操纵和管理
主键值规则(MySQL本身强制实施):
任意两行都不具有相同的主键值;
每个行都必须具有一个主键值(主键列不允许NULL值)

2. 什么是SQL?

SQL是结构化查询语言(Structured Query Language)的缩写,SQL是一种专门用来与数据库通信的语言,与其他语言(如Java和Visual Basic这样的程序设计语言)不一样,SQL由很少的词构成,设计SQL的目的是很好地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法

SQL的优点
SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。
SQL简单易学。它的语句全都是由描述性很强的英语单词组成, 而且这些单词的数目不多。
SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活 使用其语言元素,可以进行非常复杂和高级的数据库操作

3.什么是MySQL?

Mysql是一种关系型数据库,特点是将这些数据保存在不同的二维表中,并将这些表放入数据库,这样可以增加它的读取速度
数据的所有存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库软件

广泛使用MySQL原因:
成本——MySQL是开放源代码的,一般可以免费使用(甚至可以免费修改)
性能——MySQL执行很快(非常快)
可信赖——某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据
简单——MySQL容易安装和使用

4.mysql的事务

  • 事务就是一组原子性的SQL查询,或者说一个独立的工作单元
  • 如果数据库引擎能够成功地对数据库进行该组查询的全部语句,那么就执行该组查询,如果其中有任何一条语句因为崩溃或者其他原因无法执行,那么所有的语句都不会执行,也就是说,事务内的语句,要么全部执行成功,要么全部执行失败

5.mysql的异步复制(基于二进制日志文件位置position的主从复制)

异步复制(主从复制)master节点不关心slave节点的状态,只需要写自己的数据即可
能不能完成复制看slave节点的io线程和sql线程是否开启

主从复制需要做的动作:

主库开启binlog日志(设置log-bin参数)
主从server-id不同
从库服务器能同步主库

主从复制的原理:
1.在主库上把数据更改记录到二进制日志(Binary Log)中(这些记录被称为二进制日志事件)
2.备库将主库上的日志复制到自己的中继(Relay Log)日志中
3.备库读取中继日志中的事件,将其重放到备数据库之上(从库生成两个线程,一个i/o线程,一个SQL线程,i/o线程去请求主库的binlog,sql线程进行日志回放来复制)
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第1张图片
实验:
server1(172.25.254.1)数据库的master节点
server1(172.25.254.2)数据库的slave节点

(1)从物理机上面的共享目录下获取mysql安装包到server1(master节点)和server2(slave节点)
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第2张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第3张图片
(2)server1和server2上解压mysql安装包,删除不用的包,最终只有5个rpm包,进行安装
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第4张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第5张图片
(3)配置主节点数据库,开启数据库

vim /etc/my.cnf
##在文件末写入:
log-bin=mysql-bin
server-id=1	##每个节点的序号是唯一的
systemctl start mysqld

在这里插入图片描述
在这里插入图片描述
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第6张图片
(4)开启mysqld服务后生成一个临时密码,使用临时密码进行数据库安全初始化
自己设置数据库的密码,这个密码必须含有特殊字符,英文字母的大小写和数字

cat /var/log/mysqld.log | grep password	##查看临时密码
mysql_secure_installation	##进行安全初始化

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第7张图片
安全初始化设置:
移除匿名用户、禁止远程登录、移除测试库、刷新授权表
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第8张图片
(5)master节点的数据库初始化结束,使用设置的密码登录数据库
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第9张图片
(6)创建用户并授权

CREATE USER 'repl'@'172.25.254.%' IDENTIFIED BY 'Red1hat*';	##创建用户,可以使用此用户远程登录数据库
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.25.254.%';	##授权为可以复制master节点数据的slave节点
flush privileges;	##刷新
show master status;	##查看master节点的状态

mysql-bin.000001(二进制文件名称)和769(文件位置)两个信息在从库设置时会用到,记下来
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第10张图片

参数 释义
REPLICATION 表示复制的权限
* .* 对所有库的所有表都授权
repl 用户名
‘172.25.254.%’ 授权172.25.254网段的所有数据库节点都可以同步(复制)

(7)测试:
在server2测试master节点是否配置好
mysql -h 172.25.254.1 -urepl -pRed1hat*
可以登录,但是没有查看的权限,没有授权,不可以查看数据库里面的重要消息
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第11张图片
(8)配置从节点:
在server2开始配置数据库

vim /etc/my.cnf
##在文件末写入:
server-id=2	##每个节点的序号是唯一的
systemctl start mysqld

在这里插入图片描述
在这里插入图片描述
同server1一样进行mysql安全初始化
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第12张图片
(9)在slave节点上配置主节点master的信息,并开启:

mysql> CHANGE MASTER TO
    ->     MASTER_HOST='172.25.254.1',	##master节点IP
    ->     MASTER_USER='repl',		##创建用来复制的用户
    ->     MASTER_PASSWORD='Red1hat*',	##用户的密码
    ->     MASTER_LOG_FILE='mysql-bin.000001',	
    ->     MASTER_LOG_POS=769;	

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第13张图片
slave开启后查看slave节点状态,下面两个都是yes表示成功复制:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
命令用;或\g结束
这里的\G和;意义一样,显示的信息界面不一样,可自行尝试

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第14张图片
(10)查看server1上mysql目录下的文件,显示有日志文件mysql-bin.000001
在这里插入图片描述
(11)在server1(master节点)创建数据库test,表格westos,插入数据,看slave节点是否可以复制过去
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第15张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第16张图片
(12)在server2(slave节点)上查看刚才在server1上面创建的信息有没有复制过来

show databases;可以看到刚才创建的数据库

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第17张图片

select * from westos;可以看到刚才插入的表格内容

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第18张图片
(13)查看server1中的日志

cd /var/lib/mysql
mysqlbinlog mysql-bin.000001

在这里插入图片描述
主从复制的真实工作方式并不是将数据进行传输,而是复制master节点上的操作,通过二进制日志文件记录,这些操作都记录在/var/lib/mysql里,这里有我们查看到的二进制日志文件,并且Position号769也被记录
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第19张图片

6.mysql的异步复制(基于全局事务标识(GTID)的主从复制)

事务处理是一种机制,用来管理必须成批执行的MySQL操作,以保证数据库不包含不完
整的操作结果。利用事务处理,可以保证一组操作不会中途停止,它们或者作为整体执行,或者完全不执行(除非明确指示)。如果没有错误发生,整组语句提交给(写到)数据库表。如果发生错误,则进行回退(撤销)以恢复数据库到某个已知且安全的状态。
GTID(global transaction identifier)复制是通过将整个作为一个事务,分为事务1、事务2,复制操作是将整个事务进行复制,要么成功要么失败,这样就保证不会出现复制时中断而导致的数据丢失。

GTID:全局事务标识符,使用这个功能时,每次事务提交都会在binlog里生成一个唯一的标识符,它由UUID和事务ID组成,首次提交的事务为1,第二次为2,第三次为3,以此类推。
server-id:服务器身份id,在初始化MySQL时,会自动生成一个server-id并写到数据目录的auto.cnf文件中,官方不建议修改,并且server-id跟GTID有密切关系,
并且对于任意一个数据库节点,server-id是唯一的

实验:
在上个实验的基础上继续做此次实验
基于二进制日志文件位置的主从复制会因为master一个事件的中断而造成数据丢失进而不能复制
基于gtid的主从复制不会因为master一个事件的中断而造成数据丢失而不能复制

(1)配置server1(master节点)

vim /etc/my.cnf
##加入开启gtid的信息
gtid_mode=ON
enforce-gtid-consistency=true
systemctl restart mysqld	##重启数据库

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第20张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第21张图片
(2)配置server2slave节点开启GTID的服务
在这里插入图片描述
在这里插入图片描述
(3)配置slave节点使用基于GTID的自动定位

mysql -uroot -pRed1hat*
stop slave;	##停止基于二进制位置的复制
change master to 
master_host='172.25.254.1',	##master节点的ip
master_user='repl',	##用户名
master_password='Red1hat*',	##密码
master_auto_position=1;从第一件事务开始跟踪

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第22张图片

start slave;	##开启gtid的主从复制
show slave status\G;##查看复制的状态

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第23张图片
当前状态下这两个参数还是空

Retrieved_Gtid_Set:	##跟踪的事务
Executed_Gtid_Set:		##执行的事务

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第24张图片
(4)在server1上写数据

SHOW DATABASES;
USE test;
insert into westos values ('user2','123');

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第25张图片
(5)在server2上查看是否复制过来
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第26张图片
查看gtid的信息show slave status\G;
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第27张图片
此时这两个参数都有具体信息:捕捉到一个事物1
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第28张图片
(6)在server1上查看gtid的信息

USE mysql;
SHOW TABLES;
SELECT * FROM gtid_executed;

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第29张图片
在这里插入图片描述
(7)在server2上查看复制的数据

use mysql
select * from mysql.gtid_executed;

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第30张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第31张图片

7.mysql的半同步复制

在MySQL5.5以后增加了半同步复制(semisynchronous replication),半同步复制的理念是在允许更改操作继续执行前,确保更改操作至少被写入一个备库的磁盘。
半同步复制并没有暂停提交事务,只是在事务已被写入到至少一个备库的中继日志之前,避免发送一个答复给客户端。
在提交事务的过程中,客户端提交数据更改请求以后,在主库上执行,并写入二进制日志.其中一个备库连接到主库接收二进制日志,随后另一个或多个备库连接到主库请求二进制日志,这时,当其中一台备库接收完毕,并将此事务写入到本地中继日志以后,发送一个确认标志给主库,主库才会给与客户端事务提交后返回的信息。
从过程中可以看到,当事务从主库提交到备库之前,如果主库系统崩溃,则每个连接都有可能丢失一个事务,而每一次事务都是在备库提交确认信息后才提交给客户端的,因此最多只会丢失一个事务。
半同步复制:一主多从模式下,有一个从节点返回成功,即成功,不必等待多个节点全部返回
使用半同步复制时,需要主库和备库都能够支持,都要运行MySQL5.5或更高版本,并且启用半同步复制机制。
实验:
启用半同步复制,需要以下步骤:
(1)在server1(master节点)上安装半同步复制插件

INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

在这里插入图片描述

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS	##检测插件是否正确安装
    ->        FROM INFORMATION_SCHEMA.PLUGINS
    ->        WHERE PLUGIN_NAME LIKE '%semi%';

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第32张图片

mysql> set global rpl_semi_sync_master_enabled= 1;	##激活插件

在这里插入图片描述
(2)在server2(slave节点)上安装半同步复制插件

 INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; 

在这里插入图片描述
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第33张图片
在这里插入图片描述
(3)从库重启io进程
激活插件之后必须要重启io进程,否则不会生效,如果重启失败说明两端的数据不同步
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第34张图片
(4)在server1(master节点)查看状态,可以看到有一个节点在等待数据同步,因为我们只设置了一个从节点
查看主库的变量的值,可以查看到延迟时间(10000指10000毫秒,10秒)

SHOW STATUS LIKE '%rpl%';	##查看变量的状态
SHOW VARIABLES LIKE 'rpl_semi_sync%';	##查看变量的值

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第35张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第36张图片
(5)server2关闭io进程

STOP SLAVE IO_THREAD;

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第37张图片
(6)server1上写入数据

USE test;
insert into westos values ('user4','123');	##等待10s,没有接收到slave的ack请求,自动转换为异步复制,需要等待一个节点完成所有的复制
insert into westos values ('user5','123');	##没有延迟,因为已经变成异步复制

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第38张图片
10秒延迟,是因为从库的io进程关闭了,不能及时的写入数据;主库在等待10秒之后发现从库还没有开启,主库不再等待直接写入
再次插入数据,主库直接写入,没有延迟

(7)server2开启io进程
半同步复制在一次失败后会自动切换成异步复制,从库进程起来之后会将没有做的事情再做一遍

START SLAVE IO_THREAD;
show processlist;
USE test;
select * from westos;	##所有的数据都复制过来了(基于gtid)

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第39张图片
注意:
半同步复制失败后会自动切换成异步复制,从库进程起来之后会检测主从库数据是否同步;若不同步,将会采用异步复制的方式同步数据(只要从库的io进程恢复工作就会立即同步没有同步的数据)
将插件安装在数据库中是临时的,退出重新登陆会失效,永久的可以将配置写在配置文件中

8.mysql的全同步复制(组复制)

组复制:
MySQL组复制支持单主模型和多主模型两种工作方式(默认是单主模型)
单主模型:从复制组中众多个MySQL节点中自动选举一个master节点,只有master节点可以写,其他节点自动设置为read only
当master节点故障时,会自动选举一个新的master节点,选举成功后,它将设置为可写,其他slave将指向这个新的master
多主模型:多主复制通常是环形复制,在环中的每一个节点都作为主库,每个主库都可以拥有多个备库。复制组中的任何一个节点都可以写,因此没有master和slave的概念
只要突然故障的节点数量不太多,这个多主模型就能继续可用
组复制的效率很低:当master节点写数据的时候,会等待所有的slave节点完成数据的复制,然后才继续往下进行,组复制的每一个节点都可能是slave
实验:
实验环境:一个master节点+两个slave节点
server1(172.25.254.1)master节点
server2(172.25.254.2)slave节点
server3(172.25.254.3)slave节点
注意:组复制的三台主机都要有对方的(另两台)地址解析
(1)把server1上的mysql安装包传输给server3
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第40张图片
(2)server3安装数据库
在这里插入图片描述
实现组复制
(1)在server1上面进行设置
查看一下uuid备用,三个节点的uuid使用同一个值(组名),uuid不能和三个节点上的uuid一样
可以初始化一次之后,去获取uuid号,然后把/var/lib/mysql/*数据清空,该节点重启mysql得到新的uuid,这样,用之前初始化后获得的uuid就可以做实验了
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第41张图片

vim /etc/my.cn	##配置组复制
systemctl stop mysqld.service	##停止服务
rm -fr /var/lib/mysql/*	##清空数据
systemctl start mysqld	##开启服务
cat /var/log/mysqld.log |grep password	##获得临时密码

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第42张图片
编辑配置文件/etc/my.cnf
先删掉之前实验加入的内容,然后加入下面的配置

server_id=1	##节点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	##组复制依赖基于行的复制格式

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="8e108698-960f-11ea-946c-525400011919"       
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "172.25.254.1:33061"	##当前节点的ip
loose-group_replication_group_seeds= "172.25.254.1:33061,172.25.254.2:33061,172.25.254.3:33061"	##本行告诉服务器当服务器加入组,此设置可以不是全部的组成员服务地址
loose-group_replication_bootstrap_group=off  ##插件是否自动引导,这个选项一般都要off掉,只需要由发起组复制的节点开启,并只启动一次,如果是on,下次再启动时,会生成一个同名的组
loose-group_replication_ip_whitelist="127.0.0.1,172.25.254.0/24"
loose-group_replication_enforce_update_everywhere_checks=ON	##开启多主模式的参数
loose-group_replication_single_primary_mode=OFF	##开启多主模式的参数

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第43张图片
再次安全初始化,更改密码

alter user root@localhost identified by 'Red1hat*';

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第44张图片
(2)创建一个具有从节点复制特权的MySQL用户

mysql> SET SQL_LOG_BIN=0;	##在mysql程序里关闭二进制日志
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'Red1hat*'; 	##创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'Red1hat*';		##授权
mysql> FLUSH PRIVILEGES; 	##刷新授权表
mysql> SET SQL_LOG_BIN=1;	##开启二进制日志

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第45张图片

mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='Red1hat*' FOR CHANNEL 'group_replication_recovery';  	##使用组复制方式
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';	##安装组复制的插件
mysql> SET GLOBAL group_replication_bootstrap_group=ON; 	##打开参数
mysql> START GROUP_REPLICATION;	##开启组复制
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;	##关闭参数
SELECT * FROM performance_schema.replication_group_members;	##查看组状态

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第46张图片

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第47张图片
(3)在2、3节点上进行配置,配置完,同样进行安全初始化

systemctl stop mysqld	##关闭mysql服务
rm -rf /var/lib/mysql/*	##删除数据目录的内容
vim /etc/my.cnf
systemctl start mysqld

企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第48张图片
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第49张图片
在这里插入图片描述
在这里插入图片描述
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第50张图片
在这里插入图片描述
企业级Mysql数据库复制——基于position、GTID的主从复制,半同步复制,全同步(组)复制_第51张图片
在mysql命令行模式下同样进行操作

mysql> SET SQL_LOG_BIN=0; 
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1; 
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
mysql> SET GLOBAL group_replication_bootstrap_group=ON; 
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

(4)测试
配置完成后,在3个节点上可以查看到3台服务器都是online状态
在任意节点上插入数据,其他两个节点会进行组复制

你可能感兴趣的:(linux,mysql,数据库)