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

安装:

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

问题:

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

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

第1行出现错误3098(HY000):表不符合外部插件的要求。

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

我也以超级用户身份登录,通过本地MySQL控制台收到相同的错误。

问题:

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

解决方案

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

由于严重的技术困难,未在组复制中复制MyISAM。

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

(警告:我所说的可能不完全正确,但我认为这将使您摆脱麻烦,并解决手头的问题。)

相关文章