用于半同步复制的插件公开了许多状态变量,使您能够监控它们的操作。要检查状态变量的当前值,请使用 SHOW STATUS:
mysql> SHOW STATUS LIKE 'Rpl_semi_sync%';
从 MySQL 8.0.26 开始,提供了新版本的源插件和副本插件,它们 在系统变量和状态变量中将术语“ master ”和“ slave ”替换 为“ source ”和“ replica ” 。如果安装新的 rpl_semi_sync_source和 rpl_semi_sync_replica插件,新的系统变量和状态变量可用,但旧的不可用。如果您安装旧的 rpl_semi_sync_master和 rpl_semi_sync_slave插件,旧的系统变量和状态变量可用,但新的不可用。您不能在实例上同时安装相关插件的新旧版本。
第 5.1.10 节,“服务器状态变量” 中描述了 所有 状态变量。一些例子是: Rpl_semi_sync_*xxx*
-
Rpl_semi_sync_source_clients或者Rpl_semi_sync_master_clients连接到源服务器的半同步副本数。
-
Rpl_semi_sync_source_status或者Rpl_semi_sync_master_status半同步复制当前是否在源服务器上运行。如果插件已启用且未发生提交确认,则值为 1。如果未启用插件或源由于提交确认超时而退回到异步复制,则为 0。
-
Rpl_semi_sync_source_no_tx或者Rpl_semi_sync_master_no_tx副本未成功确认的提交数。
-
Rpl_semi_sync_source_yes_tx或者Rpl_semi_sync_master_yes_tx副本成功确认的提交数。
-
Rpl_semi_sync_replica_status或者Rpl_semi_sync_slave_status半同步复制当前是否在副本上运行。如果插件已启用并且复制 I/O(接收器)线程正在运行,则为 1,否则为 0。
当源由于提交阻塞超时或副本追赶而在异步或半同步复制之间切换时,它会适当地设置 Rpl_semi_sync_source_status或 Rpl_semi_sync_master_status 状态变量的值。在源上从半同步复制自动回退到异步复制意味着 即使在半同步复制实际上目前无法运行的情况下,rpl_semi_sync_source_enabled或 系统变量在源端也有可能具有值 1。rpl_semi_sync_master_enabled您可以监视 Rpl_semi_sync_source_status或 Rpl_semi_sync_master_status 状态变量以确定源当前是使用异步复制还是半同步复制。




