Error number: MY-013988; Symbol: ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR_IN_REPO; SQLSTATE: HY000
Message: Replication configuration appears to be corrupted. On Group Replication channel ‘%s’, setting REQUIRE_TABLE_PRIMARY_KEY_CHECK to ‘GENERATE’ is not allowed. Run RESET REPLICA ALL to reset it.
MySQL错误代码 MY-013988 (ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR_IN_REPO)指示一个表在Group Replication复制库中必须配置主键,并由插件自动生成。
错误说明
当表使用Group Replication复制时,此错误指示这个表必须配置其主键,并且表插件必须能够自动生成它。当某个表使用Group Replication复制,而且它没有主键时,将出现此错误。
常见案例
有时用户会忘记在创建表时制定主键,或在Group Replication复制中没有指定一个可以自动生成主键的插件。
另外,如果在Group Replication复制中使用的是表的旧版本,还可能出现此错误。如果更新表的版本(从旧版本迁移到新版本),就有可能会发生这种情况。
解决方法
要解决此问题,您需要确保表有一个主键,并且Group Replication复制能够自动生成它。可以通过以下步骤重新设置主键:
1. 使用ALTER TABLE语句为表添加一个新的主键,并指定可由Group Replication复制自动生成主键。
2. 重新启动Group Replication服务。
3. 检查是否已成功设置主键,并且可由Group Replication复制自动生成。
有关创建一个主键和使用Group Replication复制自动生成主键的更多信息,请参见MySQL官方文档。