MYSQL–架构–MGR–部署–04–运维
1、常用命令–查询
1.1、节点状态查询
select * from performance_schema.replication_group_members;
1.2、当前节点详细日志应用信息
mysql> select * from performance_schema.replication_group_member_stats\G
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 16507706540186162:5
MEMBER_ID: 20bf3b2f-c21d-11ec-91ca-000c29cb6005
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 3
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 0
TRANSACTIONS_COMMITTED_ALL_MEMBERS: ce9be252-2b71-11e6-b8f4-00212844f856:1-7
LAST_CONFLICT_FREE_TRANSACTION: ce9be252-2b71-11e6-b8f4-00212844f856:6
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 4
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 2. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 16507706540186162:5
MEMBER_ID: 20c06ab0-c21d-11ec-9450-000c29cacb8e
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 3
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 0
TRANSACTIONS_COMMITTED_ALL_MEMBERS: ce9be252-2b71-11e6-b8f4-00212844f856:1-7
LAST_CONFLICT_FREE_TRANSACTION: ce9be252-2b71-11e6-b8f4-00212844f856:6
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 5
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
*************************** 3. row ***************************
CHANNEL_NAME: group_replication_applier
VIEW_ID: 16507706540186162:5
MEMBER_ID: 83a14d74-c238-11ec-a6f6-000c2956bc6e
COUNT_TRANSACTIONS_IN_QUEUE: 0
COUNT_TRANSACTIONS_CHECKED: 0
COUNT_CONFLICTS_DETECTED: 0
COUNT_TRANSACTIONS_ROWS_VALIDATING: 0
TRANSACTIONS_COMMITTED_ALL_MEMBERS: ce9be252-2b71-11e6-b8f4-00212844f856:1-7
LAST_CONFLICT_FREE_TRANSACTION:
COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE: 0
COUNT_TRANSACTIONS_REMOTE_APPLIED: 0
COUNT_TRANSACTIONS_LOCAL_PROPOSED: 0
COUNT_TRANSACTIONS_LOCAL_ROLLBACK: 0
3 rows in set (0.00 sec)
1.3、当前复制渠道连接信息
mysql> select * from performance_schema.replication_connection_status\G;
*************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
GROUP_NAME: ce9be252-2b71-11e6-b8f4-00212844f856
SOURCE_UUID: ce9be252-2b71-11e6-b8f4-00212844f856
THREAD_ID: NULL
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00.000000
RECEIVED_TRANSACTION_SET: ce9be252-2b71-11e6-b8f4-00212844f856:1-7
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION: ce9be252-2b71-11e6-b8f4-00212844f856:7
LAST_QUEUED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION_START_QUEUE_TIMESTAMP: 2022-04-24 12:54:52.801862
LAST_QUEUED_TRANSACTION_END_QUEUE_TIMESTAMP: 2022-04-24 12:54:52.801904
QUEUEING_TRANSACTION:
QUEUEING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION_START_QUEUE_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 2. row ***************************
CHANNEL_NAME: group_replication_recovery
GROUP_NAME:
SOURCE_UUID:
THREAD_ID: NULL
SERVICE_STATE: OFF
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00.000000
RECEIVED_TRANSACTION_SET:
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION:
LAST_QUEUED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION_START_QUEUE_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_QUEUED_TRANSACTION_END_QUEUE_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION:
QUEUEING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
QUEUEING_TRANSACTION_START_QUEUE_TIMESTAMP: 0000-00-00 00:00:00.000000
2 rows in set (0.00 sec)
1.4、当前复制渠道应用信息
mysql> select * from performance_schema.replication_applier_status;
+----------------------------+---------------+-----------------+----------------------------+
| CHANNEL_NAME | SERVICE_STATE | REMAINING_DELAY | COUNT_TRANSACTIONS_RETRIES |
+----------------------------+---------------+-----------------+----------------------------+
| group_replication_applier | ON | NULL | 0 |
| group_replication_recovery | OFF | NULL | 0 |
+----------------------------+---------------+-----------------+----------------------------+
2 rows in set (0.01 sec)
mysql>
1.5、当前主master
SELECT
a.variable_value,
b.member_host,
b.member_port,
member_state
FROM
PERFORMANCE_SCHEMA.global_status a,
PERFORMANCE_SCHEMA.replication_group_members b
WHERE
a.variable_value = b.member_id
AND variable_name = 'group_replication_primary_member';
+--------------------------------------+-------------+-------------+--------------+
| variable_value | member_host | member_port | member_state |
+--------------------------------------+-------------+-------------+--------------+
| 20bf3b2f-c21d-11ec-91ca-000c29cb6005 | mysql03 | 3306 | ONLINE |
+--------------------------------------+-------------+-------------+--------------+
1 row in set (0.00 sec)
2、常用命令–更新
2.1、启动/停止组复制
start/stop group_replication
2.2、手动切换主节点
# 指定member_id作为主库
select group_replication_set_as_primary('member_id');
2.3、切换为多主模式
SELECT group_replication_switch_to_multi_primary_mode();
2.4、切换为单主模式
SELECT group_replication_switch_to_single_primary_mode();
2.5、开启/关闭组复制引导
set global group_replication_bootstrap_group=on/off;
2.6、配置节点加组时的通道
change master to
master_user="repl",
master_password="123456"
for channel "group_replication_recovery";
3、功能操作
3.1、节点退出与恢复
- 如果有节点发生异常退出后,重启该节点MGR功能,观察状态是否会从RECOVERING转变为ONLINE,如果无法成功,RECOVERING会被集群剔除
- RECOVERING阶段会从集群中拉取数据进行恢复,需要一个过程
# 节点状态检查
mysql > select * from performance_schema.replication_group_members
# 启动复制
mysql > start group_replication
3.2、自动切换节点
关闭当前Primary节点或者当节点状态被多数节点判断为异常后自动进行切换
3.3、手动切换主节点
# 查看节点member_id
select * from performance_schema.replication_group_members ;
# 指定member_id作为主库
select group_replication_set_as_primary('83a14d74-c238-11ec-a6f6-000c2956bc6e | mysql01') ;
3.4、单主模式切换为多主模式
# 单主模式下只有一个MEMBER_ROLE为PRIMARY,其余为SECONDARY
# 多主模式下全部节点都为PRIMARY
SELECT * FROM performance_schema.replication_group_members;
# 切换为多主模式
SELECT group_replication_switch_to_multi_primary_mode();
3.5、多主模式切换为单主模式
# 单主模式下只有一个MEMBER_ROLE为PRIMARY,其余为SECONDARY
# 多主模式下全部节点都为PRIMARY
SELECT * FROM performance_schema.replication_group_members;
# 切换为单主模式
SELECT group_replication_switch_to_single_primary_mode();