Error number: MY-011173; Symbol: ER_SEMISYNC_UNREGISTER_BINLOG_STORAGE_OBSERVER_FAILED; SQLSTATE: HY000
Message: unregister_binlog_storage_observer failed.
错误 MY-011173; Symbol: ER_SEMISYNC_UNREGISTER_BINLOG_STORAGE_OBSERVER_FAILED; SQLSTATE:HY000 是 MySQL 中一个常见的错误。这个错误意味着MySQL 无法取消注册 binlog 下载观察者。
被取消注册的 binlog 下载观察者的用途是将 binlog 中的所有异步事件发给 binlog 下载者。binlog 下载观察者有助于确保 binlog 中的事件保存到 binlog 缓冲器,而且当发送事件之前,会确保事件能够被安全地保存在缓冲器中。
此错误通常发生在MySQL管理员试图在 MySQL Master 上更新 semisync 设置时,尝试一些操作,导致 binlog 下载观察者被意外取消注册。例如,如果管理员传播了出错的“SET GLOBAL rpl_semi_sync_master_enabled = ON;”指令,MySQL 就会给出这个错误。
要解决这个问题,MySQL管理员首先需要设置 semisync 配置,which they can do by running the “SET GLOBAL rpl_semi_sync_master_enabled = ON;” command. Then, they can re-register the binlog download observer, by running the “SET GLOBAL binlog_storage_observer_register = ON;” command. 值得注意的是,在设置 semisync 配置之后,binlog 下载观察者不会重新注册,需要管理员单独运行这个指令来重新注册它。
此外,管理员可以确保 binlog 事件能够被发送给复制用户,只需在执行上述的 “SET GLOBAL binlog_storage_observer_register=ON;” 后执行“FLUSH BINLOG”指令即可。
最后,要确保 MySql 服务器健康,MySQL 管理员应确保 binlog 下载观察者能够正确取消注册,并在必要时执行以上步骤以修复服务器,以避免相关错误的发生。