0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MGR主备集群实现异步连接故障转移的步骤

OSC开源社区 来源:GreatSQL社区 2023-07-26 09:43 次阅读

1.概述

MySQL 8.0.22 开始,支持异步连接故障切换机制,在现有主从复制连接失败后,自动建立到新主的异步复制连接。

MySQL 8.0.23 开始,异步连接故障切换机制还支持组复制拓扑,通过自动监视组成员身份的更改并区分主节点和从节点,在组复制主节点故障选出新主节点后,自动建立到新主的异步复制连接。

MySQL 8.0.26 开始,组复制可以设置组成员在特定情况下采取的操作,比如成员操作 mysql_disable_super_read_only_if_primary 当选择一个新的primary时,使处于单主模式的组保持超级只读模式,这样该组只接受复制的事务,不接受来自客户端的任何直接写操作。

MySQL 8.0.27 开始,异步连接故障切换机制还允许组复制作为副本,组的主节点发生故障时,新的主节点自动重新连接到源端。新增成员操作mysql_start_failover_channels_if_primary,默认情况下,此成员操作是启用的,当启用此成员动作时,在"CHANGE replication SOURCE TO"语句中为复制通道设置SOURCE_CONNECTION_AUTO_FAILOVER=1时,组复制主节点复制通道上的异步连接故障转移将激活。

2.架构

MGR B 作为 MGR A 的备份

c9a84a24-2adc-11ee-a368-dac502259ad0.png

本次测试通过搭建2套MGR作为主备集群,进行异步连接故障切换测试:

(1)当主集群MGR A 的主节点发生故障时,备集群MGR B的主节点能够实现异步故障转移,自动连接MGR A 的新主节点,主备集群同步不断开,实现数据正常同步。

(2)当备集群MGR B 的主节点发生故障时,MGR B 的新主节点能够自动启动复制通道,自动连接MGR A 主节点,主备集群同步不断开,实现数据正常同步。

(3)设置MGR B成员行为,使处于单主模式的组 MGR B 保持超级只读模式,这样该组只接受复制的事务,不接受来自客户端的任何直接写。

3.测试

本次测试基于 MySQL 8.0.31,搭建2套MGR集群(单主模式)

3.1 搭建MGR集群

MGR A:

mysql>select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|44921323-bd95-11ed-8db5-00163e01f842|172.17.140.201|6002|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|6f904c5c-bd95-11ed-bc79-00163e01f842|172.17.140.201|6003|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|c9e254d3-bd94-11ed-8ae9-00163e01f842|172.17.140.201|6001|ONLINE|PRIMARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3rowsinset(0.01sec)

MGR B:

select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|190f4674-be4a-11ed-9452-00163ea5c598|172.17.140.252|6005|ONLINE|PRIMARY|8.0.31|XCom|
|group_replication_applier|3fa9e064-be4a-11ed-92c7-00163ea5c598|172.17.140.252|6006|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|6a9691c6-be4a-11ed-8a32-00163ea5c598|172.17.140.252|6007|ONLINE|SECONDARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3rowsinset(0.00sec)

3.2 创建复制用户

在MGR A 的主节点创建用于复制的用户 repl_user

createuserrepl_user@'%'identifiedwithmysql_native_passwordby'abc123';
grantreplicationslaveon*.*torepl_user@'%';
grantselectonperformance_schema.*torepl_user@'%';

注意:这里复制用户需要有 performance_schema 库的select权限,主要用于获取MGR A集群成员的状态,如果没有这个权限,将不能进行异步连接故障转移。

3.3停止MGR B的组复制

在MGR B的所有节点停止组复制,可先停止从节点,避免发生节点切换

mysql>stopgroup_replication;

注意:这里停止组复制是为了下一步创建异步复制通道,如果不停止复制通道,在运行正常的MGR B 的主节点执行创建复制通道的语句,会导致从节点退出组,报如下错误:

2023-03-09T1451.933981+08:0017887[ERROR][MY-013786][Repl]UnabletosetSOURCE_CONNECTION_AUTO_FAILOVERonanon-existentormisconfiguredreplicationchannel'mgra_to_mgrb',pleasecreatethechannelandrejointheservertothegroup.
2023-03-09T1451.934259+08:0017887[ERROR][MY-013487][Repl]Plugingroup_replicationreported:'AmessagesentthroughtheGroupReplicationmessagedeliverservicewasnotdeliveredsuccessfully.Theserverwillnowleavethegroup.Trytoaddtheserverbacktothegroupandcheckiftheproblempersists,orcheckpreviousmessagesinthelogforhintsofwhatcouldbetheproblem.'
2023-03-09T1451.934704+08:0017887[ERROR][MY-011712][Repl]Plugingroup_replicationreported:'Theserverwasautomaticallysetintoreadonlymodeafteranerrorwasdetected.'
2023-03-09T1455.166405+08:000[System][MY-011504][Repl]Plugingroup_replicationreported:'Groupmembershipchanged:Thismemberhasleftthegroup.'

3.4创建异步复制通道

在MGR B的所有节点创建异步复制通道

changereplicationsourcetosource_host='172.17.140.201',source_port=6001,source_user='repl_user',source_password='abc123',source_auto_position=1,source_connection_auto_failover=1,source_connect_retry=10,source_retry_count=3forchannel'mgra_to_mgrb';

source_host:MGR A 主节点的IP

source_port:MGR A 主节点的端口

source_connection_auto_failover=1:表示开启自动故障转移功能。

source_connect_retry:指定复制副本在与源端的连接超时后重新连接尝试之间的间隔(秒)。

source_retry_count:设置复制副本在连接到源超时后进行的最大重新连接尝试次数。

3.5配置复制源

在MGR B 的主节点配置复制源

selectasynchronous_connection_failover_add_managed('mgra_to_mgrb','GroupReplication','bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb','172.17.140.201',6001,'',90,50);
+-------------------------------------------------------------------------------------------------------------------------------------------------------+
|asynchronous_connection_failover_add_managed('mgra_to_mgrb','GroupReplication','bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb','172.17.140.201',6001,'',90,50)|
+-------------------------------------------------------------------------------------------------------------------------------------------------------+
|TheUDFasynchronous_connection_failover_add_managed()executedsuccessfully.|
+-------------------------------------------------------------------------------------------------------------------------------------------------------+
1rowinset(0.02sec)

语法:

asynchronous_connection_failover_add_managed(channel,managed_type,managed_name,host,port,network_namespace,primary_weight,secondary_weight)

参数

channel:上面创建的复制通道名称;

managed_type:管理服务的类型,当前可传入的值必须是GroupReplication;

managed_name:管理组的识别符,即group_replication_group_name参数的值;

host:源端主机名;

port:源端端口号;

network_namespace:预留为将来使用,置空;

primary_weight:MGR主服务器的权重,值为1到100,值越大,优先级越高;

secondary_weight:MGR从服务器的权重,值为1到100,值越大,优先级越高;

3.6查看配置的用于异步连接切换的复制源

mysql>select*fromperformance_schema.replication_asynchronous_connection_failover;
+--------------+----------------+------+-------------------+--------+--------------------------------------+
|CHANNEL_NAME|HOST|PORT|NETWORK_NAMESPACE|WEIGHT|MANAGED_NAME|
+--------------+----------------+------+-------------------+--------+--------------------------------------+
|mgra_to_mgrb|172.17.140.201|6001||50|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|
+--------------+----------------+------+-------------------+--------+--------------------------------------+
1rowinset(0.00sec)

这里只显示刚才配置的一个节点,启动异步复制通道后就能看到MGR A所有节点。

3.7启动 MGR B 组复制

在MGR B 的主节点重新引导启动组复制

#选一个节点作为引导节点
setglobalgroup_replication_bootstrap_group=ON;
startgroup_replication;
setglobalgroup_replication_bootstrap_group=OFF;

#其余节点启动组复制
startgroup_replication;

#查看MGRB集群状态
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|190f4674-be4a-11ed-9452-00163ea5c598|172.17.140.252|6005|ONLINE|PRIMARY|8.0.31|XCom|
|group_replication_applier|3fa9e064-be4a-11ed-92c7-00163ea5c598|172.17.140.252|6006|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|6a9691c6-be4a-11ed-8a32-00163ea5c598|172.17.140.252|6007|ONLINE|SECONDARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3rowsinset(0.00sec)

3.8启动异步复制通道

在MGR B的主节点启动

mysql>startreplicaforchannel'mgra_to_mgrb';
mysql>showreplicastatusG
***************************1.row***************************
Replica_IO_State:Waitingforsourcetosendevent
Source_Host:172.17.140.201
Source_User:repl_user
Source_Port:6001
Connect_Retry:10
Source_Log_File:binlog.000001
Read_Source_Log_Pos:2614
Relay_Log_File:relaylog-mgra_to_mgrb.000002
Relay_Log_Pos:2816
Relay_Source_Log_File:binlog.000001
Replica_IO_Running:Yes
Replica_SQL_Running:Yes
Replicate_Do_DB:

异步复制通道运行正常,至此MGR A 与 MGR B已建立主备关系,MGR A主节点与 MGR B 主节点建立异步复制通道。

3.9查看配置的用于异步连接切换的复制源

mysql>select*fromperformance_schema.replication_asynchronous_connection_failover;
+--------------+----------------+------+-------------------+--------+--------------------------------------+
|CHANNEL_NAME|HOST|PORT|NETWORK_NAMESPACE|WEIGHT|MANAGED_NAME|
+--------------+----------------+------+-------------------+--------+--------------------------------------+
|mgra_to_mgrb|172.17.140.201|6001||90|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|
|mgra_to_mgrb|172.17.140.201|6002||50|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|
|mgra_to_mgrb|172.17.140.201|6003||50|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|
+--------------+----------------+------+-------------------+--------+--------------------------------------+
3rowsinset(0.01sec)

可以看到这里显示了 MGR A的所有节点信息,weight 最高的为主节点

3.10故障模拟:主集群MGR A 的主节点发生故障

(1)查看当前MGR A 信息

mysql>select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|44921323-bd95-11ed-8db5-00163e01f842|172.17.140.201|6002|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|6f904c5c-bd95-11ed-bc79-00163e01f842|172.17.140.201|6003|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|c9e254d3-bd94-11ed-8ae9-00163e01f842|172.17.140.201|6001|ONLINE|PRIMARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3rowsinset(0.00sec)

当前MGR A 主节点为 6001

(2)查看异步复制信息

登录MGR B 主节点查看

mysql>showreplicastatusG
***************************1.row***************************
Replica_IO_State:Waitingforsourcetosendevent
Source_Host:172.17.140.201
Source_User:repl_user
Source_Port:6001
Connect_Retry:10
Source_Log_File:binlog.000001
Read_Source_Log_Pos:2614
Relay_Log_File:relaylog-mgra_to_mgrb.000002
Relay_Log_Pos:2816
Relay_Source_Log_File:binlog.000001
Replica_IO_Running:Yes
Replica_SQL_Running:Yes
Replicate_Do_DB:

当前MGR B主节点 连接的是 MGR A的主节点 6001

(3)模拟MGR A故障

在MGR A主节点执行切主命令,模拟MGR A主节点故障,将6002设置为新主节点

mysql>selectgroup_replication_set_as_primary('44921323-bd95-11ed-8db5-00163e01f842');
+--------------------------------------------------------------------------+
|group_replication_set_as_primary('44921323-bd95-11ed-8db5-00163e01f842')|
+--------------------------------------------------------------------------+
|Primaryserverswitchedto:44921323-bd95-11ed-8db5-00163e01f842|
+--------------------------------------------------------------------------+
1rowinset(0.04sec)
mysql>select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|44921323-bd95-11ed-8db5-00163e01f842|172.17.140.201|6002|ONLINE|PRIMARY|8.0.31|XCom|
|group_replication_applier|6f904c5c-bd95-11ed-bc79-00163e01f842|172.17.140.201|6003|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|c9e254d3-bd94-11ed-8ae9-00163e01f842|172.17.140.201|6001|ONLINE|SECONDARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3rowsinset(0.00sec)

(4)查看异步复制信息

登录MGR B 主节点查看

mysql>showreplicastatusG
***************************1.row***************************
Replica_IO_State:Waitingforsourcetosendevent
Source_Host:172.17.140.201
Source_User:repl_user
Source_Port:6002
Connect_Retry:10
Source_Log_File:binlog.000001
Read_Source_Log_Pos:3343
Relay_Log_File:relaylog-mgra_to_mgrb.000003
Relay_Log_Pos:435
Relay_Source_Log_File:binlog.000001
Replica_IO_Running:Yes
Replica_SQL_Running:Yes
Replicate_Do_DB:

可以看到MGR B主节点已经自动进行异步连接故障转移,与MGR A新主节点6002建立连接并且连接正常,在此过程中并不需要人为去操作。

3.11故障模拟:备集群MGR B 的主节点发生故障

(1)查看当前MGR B信息

mysql>select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|190f4674-be4a-11ed-9452-00163ea5c598|172.17.140.252|6005|ONLINE|PRIMARY|8.0.31|XCom|
|group_replication_applier|3fa9e064-be4a-11ed-92c7-00163ea5c598|172.17.140.252|6006|ONLINE|SECONDARY|8.0.31|XCom|
|group_replication_applier|6a9691c6-be4a-11ed-8a32-00163ea5c598|172.17.140.252|6007|ONLINE|SECONDARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3rowsinset(0.03sec)

(2)查看异步复制信息

登录MGR B主节点6005

mysql>showreplicastatusG
***************************1.row***************************
Replica_IO_State:Waitingforsourcetosendevent
Source_Host:172.17.140.201
Source_User:repl_user
Source_Port:6002
Connect_Retry:10
Source_Log_File:binlog.000001
Read_Source_Log_Pos:3343
Relay_Log_File:relaylog-mgra_to_mgrb.000003
Relay_Log_Pos:435
Relay_Source_Log_File:binlog.000001
Replica_IO_Running:Yes
Replica_SQL_Running:Yes
Replicate_Do_DB:

当前MGR B主节点与MGR A新主节点6002 异步复制连接正常

登录MGR B从节点6006

mysql>showreplicastatusG
***************************1.row***************************
Replica_IO_State:
Source_Host:172.17.140.201
Source_User:repl_user
Source_Port:6001
Connect_Retry:10
Source_Log_File:
Read_Source_Log_Pos:4
Relay_Log_File:relaylog-mgra_to_mgrb.000001
Relay_Log_Pos:4
Relay_Source_Log_File:
Replica_IO_Running:No
Replica_SQL_Running:No
Replicate_Do_DB:

(3)模拟MGR B主节点故障

这里不能通过对MGR B执行切主命令模拟故障,会报如下错误:

mysql>selectgroup_replication_set_as_primary('3fa9e064-be4a-11ed-92c7-00163ea5c598');
ERROR3910(HY000):Thefunction'group_replication_set_as_primary'failed.Thereisaslavechannelrunninginthegroup'scurrentprimarymember.

我们通过停止组复制让MGR B主节点6005主动退出组,模拟故障

mysql>stopgroup_replication;
QueryOK,0rowsaffected(11.67sec)

(4)查看当前MGR B信息

mysql>select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|3fa9e064-be4a-11ed-92c7-00163ea5c598|172.17.140.252|6006|ONLINE|PRIMARY|8.0.31|XCom|
|group_replication_applier|6a9691c6-be4a-11ed-8a32-00163ea5c598|172.17.140.252|6007|ONLINE|SECONDARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
2rowsinset(0.00sec)

当前MGR B发生切主,新主节点为6006

(5)查看异步复制信息

登录MGR B新主节点6006

mysql>showreplicastatusG
***************************1.row***************************
Replica_IO_State:Waitingforsourcetosendevent
Source_Host:172.17.140.201
Source_User:repl_user
Source_Port:6002
Connect_Retry:10
Source_Log_File:binlog.000001
Read_Source_Log_Pos:3343
Relay_Log_File:relaylog-mgra_to_mgrb.000002
Relay_Log_Pos:395
Relay_Source_Log_File:binlog.000001
Replica_IO_Running:Yes
Replica_SQL_Running:Yes
Replicate_Do_DB:

可以看到MGR B新主节点已经自动进行异步连接故障转移,与MGR A主节点6002建立连接并且连接正常,在此过程中并不需要人为去操作。

3.12 设置备集群MGR B为超级只读模式

配置MGR B集群所有节点为超级只读模式,避免执行误操作。默认情况下,MGR单主模式下主节点为读写模式,从节点为超级只读模式。

当一个组只是作为另一个组的备份的时候,只需要执行复制事物就可以了,不需要登录执行其他客户端事物,避免造成数据不一致的问题。因此我们可以通过 group_replication_disable_member_action() 函数设置成员操作,将备集群所有节点设置为超级只读模式,即使切主后选出新的主节点也要保持超级只读模式。

(1)查看MGR B当前成员操作

mysql>select*fromreplication_group_member_actions;
+------------------------------------------+------------------------+---------+----------+----------+----------------+
|name|event|enabled|type|priority|error_handling|
+------------------------------------------+------------------------+---------+----------+----------+----------------+
|mysql_disable_super_read_only_if_primary|AFTER_PRIMARY_ELECTION|1|INTERNAL|1|IGNORE|
|mysql_start_failover_channels_if_primary|AFTER_PRIMARY_ELECTION|1|INTERNAL|10|CRITICAL|
+------------------------------------------+------------------------+---------+----------+----------+----------------+
2rowsinset(0.02sec)

(2)设置MGR B为超级只读模式

mysql>SELECTgroup_replication_disable_member_action("mysql_disable_super_read_only_if_primary","AFTER_PRIMARY_ELECTION");
+---------------------------------------------------------------------------------------------------------------+
|group_replication_disable_member_action("mysql_disable_super_read_only_if_primary","AFTER_PRIMARY_ELECTION")|
+---------------------------------------------------------------------------------------------------------------+
|OK|
+---------------------------------------------------------------------------------------------------------------+
1rowinset(0.04sec)

注意:这里执行完此函数后,不会对当前主节点产生影响,当发生切主选择出新主节点后,会将新主节点设置为超级只读模式。

(3)停止MGR B主节点

mysql>stopgroup_replication;
QueryOK,0rowsaffected(28.54sec)

mysql>select*fromperformance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|CHANNEL_NAME|MEMBER_ID|MEMBER_HOST|MEMBER_PORT|MEMBER_STATE|MEMBER_ROLE|MEMBER_VERSION|MEMBER_COMMUNICATION_STACK|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
|group_replication_applier|190f4674-be4a-11ed-9452-00163ea5c598|172.17.140.252|6005|ONLINE|PRIMARY|8.0.31|XCom|
|group_replication_applier|6a9691c6-be4a-11ed-8a32-00163ea5c598|172.17.140.252|6007|ONLINE|SECONDARY|8.0.31|XCom|
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
2rowsinset(0.01sec)

MGR B新主节点为 6005

(4)查看MGR B新主节点是否进入超级只读模式

mysql>showvariableslike'super_read_only';
+-----------------+-------+
|Variable_name|Value|
+-----------------+-------+
|super_read_only|ON|
+-----------------+-------+
1rowinset(0.05sec)

mysql>createdatabasett;
ERROR1290(HY000):TheMySQLserverisrunningwiththe--super-read-onlyoptionsoitcannotexecutethisstatement

此时新主节点处于超级只读模式,不允许用户执行操作。

4.总结

通过异步连接故障切换机制,当复制连接出现问题时,不需要人工介入手动去重新建立复制连接,副本会自动进行异步故障转移与新的节点建立连接。

异步复制通道的建立只能在2个MGR集群的主节点上。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 连接器
    +关注

    关注

    98

    文章

    14310

    浏览量

    136156
  • 状态机
    +关注

    关注

    2

    文章

    492

    浏览量

    27477
  • MySQL
    +关注

    关注

    1

    文章

    801

    浏览量

    26439
  • MYSQL数据库
    +关注

    关注

    0

    文章

    95

    浏览量

    9380

原文标题:MGR主备集群实现异步连接故障转移

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    copy模式的DRDS集群

    服务安全最重要的是数据安全,大多数灾都是保证服务高可用和数据安全性。服务不断电方案:异地多活灾UPS不断电异地多活灾阿里云数据库异地多活解决方案使用以下阿里云核心产品,按照架构设计原则提供数据
    发表于 11-16 09:23

    VxWorks中数据一致性功能组件的设计与实现

    数据一致性是备用系统必须解决的问题。目前系统的一致性都采用手工编程来实现。导致代码结构繁杂,且效率不高。利用VxWorks的异常处理机制,结合RISC CPU的特性.设
    发表于 12-16 14:21 5次下载

    VxWorks中数据一致性功能组件的设计与实现

    数据一致性是备用系统必须解决的问题。目前系统的一致性都采用手工编程来实现,导致代码结构繁杂,且效率不高。利用VxWorks 的异常处理机制,结合RISC CPU 的特性,设计实
    发表于 09-22 11:32 8次下载

    VxWorks中数据一致性功能组件的设计与实现

    数据一致性是备用系统必须解决的问题。目前系统的一致性都采用手工编程来实现。导致代码结构繁杂,且效率不高。利用VxWorks的异常处理机制,结合RISC CPU的特性.设计
    发表于 11-28 16:47 11次下载

    VxWorks中数据一致性功能组件的设计与实现

    VxWorks中
    发表于 01-09 15:32 31次下载

    利用Maxim时钟IC实现时钟卡冗余,Implement

    利用Maxim时钟IC实现时钟卡冗余,Implement Master-Slave Timing-Card Redundancy Using Maxim Timing ICs Abstract: Telecom equi
    发表于 06-27 23:35 850次阅读
    利用Maxim时钟IC<b class='flag-5'>实现</b><b class='flag-5'>主</b><b class='flag-5'>备</b>时钟卡冗余,Implement

    什么是异步转移模式

    什么是异步转移模式 1、ATM的定义与功能 CCITT在I系列建议中给ATM下了这样的定义:ATM是一种转换模式(即前面所说的传输方式),在
    发表于 03-18 15:43 1156次阅读

    双机热与负载均衡的设计与实现

    针对OpenFlow SDN系统中的策略管理模块提出了一种新型的双机热和负载均衡方案,采用了服务器集群的方式,通过Keepalived和Heartbeat实现了双机热模块,通过Ng
    发表于 12-24 17:57 10次下载

    基于Hyper-V虚拟化技术实现故障转移

    虚拟化技术和故障转移集群的方法,结合人为干预设备的试验,实现了风廓线雷达系统的故障转移功能,平均
    发表于 12-28 09:57 15次下载

    异步电机转子复合故障诊断

    为了突出故障早期的故障特征信息,避免复杂算法,实现故障早期状态在线监测,提出定子电流二次方法(流方)的笼型异步电机转子复合
    发表于 03-28 14:47 0次下载

    阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群

    的,未知Bug处理考验内核团队的技术实力,需要具备外科手术的能力,但其处理时间是不可预期的。云HBase高可用方案故障恢复时间可预知的高可用系统,故障发生时可以在分钟级别恢复读写能
    发表于 11-14 23:06 331次阅读

    三相异步电动机安装步骤_三相异步电动机故障检查方法

    本文主要阐述了三相异步电动机安装步骤及三相异步电动机故障检查方法。
    的头像 发表于 03-16 09:25 1.6w次阅读

    APM32F003X6_SPI_一多从SPI连接时出现故障

    APM32F003X6_SPI_一多从SPI连接时出现故障
    发表于 11-09 21:03 0次下载
    APM32F003X6_SPI_一<b class='flag-5'>主</b>多从SPI<b class='flag-5'>连接</b>时出现<b class='flag-5'>故障</b>

    电源延时切换电路设计运行原理

    电源延时切换电路运行原理:我们通过一个中间继电器和一个通电延时继电器来实现电源延时切换。我们把
    的头像 发表于 12-17 17:49 1281次阅读
    <b class='flag-5'>主</b><b class='flag-5'>备</b>电源延时切换电路设计运行原理

    广播功放切换器、广播分区控制器、广播调音台维修

    的工作原理、常见故障及维修方法。 一、广播功放切换器 广播功放切换器是广播系统中的核心设备之一,主要用于在
    的头像 发表于 11-20 14:58 107次阅读
    广播<b class='flag-5'>主</b><b class='flag-5'>备</b>功放切换器、广播分区控制器、广播调音台维修