MySQL Error number: MY-011677; Symbol: ER_GRP_RPL_LOG_SLAVE_UPDATES_NOT_SET; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-011677; Symbol: ER_GRP_RPL_LOG_SLAVE_UPDATES_NOT_SET; SQLSTATE: HY000

Message: LOG_SLAVE_UPDATES should be ON for Group Replication

,能有引用就更好

错误说明

MySQL 报错 MY-011677(ER_GRP_RPL_LOG_SLAVE_UPDATES_NOT_SET)通常是由 MySQL 服务器的错误所引起的,通常提示“log_slave_updates 变量没有设置”。 这个错误是 MySQL 内部报错码,它表示在使用 group_replication 时,未将log_slave_updates 变量设置为 ON 。当 log_slave_updates 为 OFF 时, MySQL 会在 group_replication 激活时报 MY-011677 的错误,及“log_slave_updates 变量没有设置”的提示。

常见案例

在使用 MySQL 的架构中,最常见的原因就是因为以下场景:

1.默认情况下,MySQL InnoDB 引擎不支持 group_replication 方式,只能使用 InnoDB Cluster 作为主备复制特性;

2.开启高可用(例如group_replication)时,MySQL的log_slave_updates 配置项未设置为 ON ;

3.当服务器正在运行 group_replication 的时候,log_slave_updates 配置也没有设置,也就是一直保持 OFF 状态。

解决方法

当MySQL报错 ER_GRP_RPL_LOG_SLAVE_UPDATES_NOT_SET 时,可以通过以下操作来解决:

1.停止MySQL 服务,设置log_slave_updates = ON;

2.执行 MySQL 的重启操作;

3.确认 log_slave_updates = ON。

在 MySQL 中, log_slave_updates 可以用来控制从服务器是否同步更新或操作到 binlog 中。当 log_slave_updates 设置为 ON 时,所有从服务器上的更新操作会被记录到 binlog 中,而将log_slave_updates 设置为 OFF 则不会。

正常情况下,当设置了log_slave_updates = ON时,MySQL会正常启动,也就是说,只有当SQL语句违背它的规则时,才会产生错误提示。而在这种情况下,MySQL就报出了 MY-011677 的错误,及“log_slave_updates 变量没有设置”的提示。

事实上,在使用 group_replication 的场景中,log_slave_updates 必须设置为 ON,且必须在MySQL服务器启动之前就设置好,这样在MySQL服务器启动后,才能够正确地启动group_replication模式。

总之,只有正确地设置log_slave_updates 参数,才能避免错误 MY-011677(ER_GRP_RPL_LOG_SLAVE_UPDATES_NOT_SET)发生,也就是说,只有按照正确的步骤,正确地设置log_slave_updates参数,才能及时避免 MY-011677 这类的错误发生。


数据运维技术 » MySQL Error number: MY-011677; Symbol: ER_GRP_RPL_LOG_SLAVE_UPDATES_NOT_SET; SQLSTATE: HY000 报错 故障修复 远程处理