用于半同步复制的插件公开了许多状态变量,使您能够监视它们的操作。若要检查状态变量的当前值,请使用显示状态
:
显示Rpl_semi_sync%;
从MySQL 8.0.26开始,提供了新版本的源插件和副本插件,替换了这些术语”主”而且”奴隶”与”源”而且”副本”系统变量和状态变量。如果你安装新的rpl_semi_sync_source
而且rpl_semi_sync_replica
插件,新的系统变量和状态变量是可用的,但旧的没有。如果你安装旧的rpl_semi_sync_master
而且rpl_semi_sync_slave
插件,旧的系统变量和状态变量是可用的,但新的是不可用的。你不能在一个实例中同时安装相关插件的新版本和旧版本。
所有Rpl_semi_sync_
状态变量描述在章节5.1.10,“服务器状态变量”.一些例子是: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_source_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
或rpl_semi_sync_master_enabled
即使此时半同步复制实际上没有运行,系统变量在源端也应该具有1的值。你可以监控Rpl_semi_sync_source_status
或Rpl_semi_sync_master_status
状态变量,以确定源当前是使用异步复制还是半同步复制。