我安装了 Debian 延伸 和新安装的 mysql 8.0 (配置尚未更改)。当我尝试使用以下内容创建新用户时:
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'xyz';
我得到以下信息:
ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.db]
关于问题可能是什么的任何建议?
谢谢
最佳答案
Sarel 建议了这个解决方案,它执行我在下面所做的所有步骤,但它可能是最安全的 MySQL 方式。
mysqld --upgrade=FORCE
https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_upgrade服务器升级数据字典、Performance Schema 和 INFORMATION_SCHEMA
谢谢,@Sarel!
我以前用于历史用途的帖子:
我不假思索地将数据库备份恢复到我的新开发 MySQL 8 系统中,并覆盖了 MySQL 数据库表。修复它并不难,只是花了一段时间对其进行了一些黑客攻击,这就是修复它的原因。
alter table mysql.db ENGINE=InnoDB;
alter table mysql.columns_priv ENGINE=InnoDB;
在那之后,我能够毫无问题地创建一个用户。关键在错误消息中。
ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.db]
所以我知道它是 MyISAM 的 mysql.db 并且需要是其他东西,所以我只是将其更改为 InnoDB。希望对某人有所帮助!
如果你的 MySQL 数据库是错误的类型,或者另一种选择是初始化你的数据库
mysqld --initialize
那将重新创建这一切。如果您可以在执行此操作之前转储 SQL,那总是最好的。
关于mysql-8.0 - 如何在创建用户后修复 Mysql 8.0 中的 ERROR 1726 (HY000) : Storage engine 'MyISAM' does not support system tables.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54292491/