ERROR 3098 (HY000): 该表不符合外部插件的要求

Kyl*_*son 6 mysql bash replication mysql-group-replication

设置:

  • master master 中的三个mysql组复制节点。
  • 一切正常。我可以添加用户/数据库并插入/更新数据。
  • 每个节点都绑定到一个私有 IP 地址。
  • 我创建了一个 bash 脚本来连接到 mysql 以删除用户。
  • 使用脚本删除数据库工作正常。

问题:

以下命令将不会运行。我可以创建用户和数据库并删除数据库,但不能删除用户。我不知道是复制问题还是权限问题。

  • 从 mysql.user 中删除 user='testme123';
  • 从 mysql.db 中删除用户 ='testme123';
  • 如果存在'testme123',则删除用户;

第 1 行的 ERROR 3098 (HY000):该表不符合外部插件的要求。

日志:[错误] 插件 group_replication 报告:'表用户不使用 InnoDB 存储引擎。这与组复制不兼容。

我也通过本地 mysql 控制台以 root 身份登录得到同样的错误。

问题):

  • 什么可以阻止这种情况?
  • 我该如何解决我遗漏的问题?

Ric*_*mes 6

如果您使用组复制(在 5.7 或 8.0 中),则必须通过 GRANT/DROP/CREATE USER/etc 命令进行所有用户身份验证,而不是 INSERT/UPDATE/DELETE/etc。

由于严重的技术困难,MyISAM 在 Group Replication 中没有被复制。

(以上评论也适用于 Galera / PXC。)

(警告:我所说的可能并不完全正确,但我认为这会让你远离麻烦,并解决手头的问题。)