Error number: MY-011627; Symbol: ER_GRP_RPL_READ_UNABLE_FOR_SUPER_READ_ONLY; SQLSTATE: HY000
Message: Unable to read the server value for the super_read_only variable.
错误说明
ER_GRP_RPL_READ_UNABLE_FOR_SUPER_READ_ONLY是MySQL由8.0.20开始支持的一个错误。错误代码为MY-011627,错误原因是由于Group Replication错误,在Super_read_only模式下不能加载数据信息,导致事务不能执行。
常见案例
出现该错误的通常是MySQL的Group Replication的问题,会因为多余的group replication member,或者超级只读模式的读取错误,或者网络问题(网络隔离或者宕机)等,无法执行事务。
解决方法
1. 确定MySQL可用的Group Replication的member的数量和状态,可以通过SET GLOBAL group_replication_single_primary_mode=off来开启Group Replication。
2. 修改MySQL的Super_read_only参数,可以通过SET GLOBAL super_read_only=off 来关闭Super_read_only模式,让MySQL有更多的可能性来读取信息。
3. 查看MySQL的网络状态,看看是否出现了网络隔离或者宕机等情况,如果出现网络隔离,应该重新启动网络与MySQL MySQL服务。
4. 查看MySQL日志,看看是否有更进一步的信息,比如是否有宕机或者其他错误信息。
5. 尝试重新启动MySQL,看看是否可以正常事务的执行。
6. 升级MySQL,因为Group Replication在MySQL 8.0.20开始支持,如果你当前使用的MySQL小于8.0.20,可以通过升级MySQL来解决问题。