MySQL Error number: MY-013988; Symbol: ER_REQUIRE_TABLE_PRIMARY_KEY_CHECK_GENERATE_WITH_GR_IN_REPO; SQLSTATE: HY000

文档解释

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官方文档。

你可能感兴趣的