设置:
主机中有三个mysql组复制节点。
一切正常。我可以添加用户/dbs和插入/更新数据。
每个节点都绑定到一个专用ip地址。
我创建了一个bash脚本来连接mysql删除用户。
使用脚本删除数据库可以正常工作。
问题:
以下命令将不运行。我可以创建用户和数据库,删除数据库,但不能删除用户。我不知道这是复制问题还是特权问题。
从mysql.user中删除,其中user='testme123';
从mysql.db中删除,其中user='testme123';
如果存在“testme123”,则删除用户;
第1行出现错误3098(hy000):该表不符合外部插件的要求。
日志:[错误]插件组\复制报告:'表用户不使用innodb存储引擎。这与组复制不兼容。
我得到同样的错误,通过本地mysql控制台也以root用户身份登录。
问题:
是什么阻止了这一切?
我该如何解决我缺少的问题?
2条答案
按热度按时间yh2wf1be1#
如果使用组复制(在5.7或8.0中),则必须通过grant/drop/create user/etc命令执行所有用户身份验证,而不是insert/update/delete/etc。
由于严重的技术困难,myisam不能在组复制中复制。
(以上评论也适用于galera/pxc。)
(警告:我所说的可能不是完全正确的,但我认为这将使你免于麻烦,并解决眼前的问题。)
jgovgodb2#
在我的例子中,我在从单一主模式mysql复制组还原备份时遇到了相同的错误。我用电脑做了备份
--single-transaction
期间标记mysqldump
命令。在这里,看到的用法
--single-transaction
它引起的问题的标志。所以,在阅读了@rickjames提供的建议之后,我只是删除了
--single-transaction
来自mysqldump
cmd,然后将其还原到新的复制组。注:mysql服务器版本为5.7.25