mysql-8.0 - 如何在创建用户后修复 Mysql 8.0 中的 ERROR 1726 (HY000) : Storage engine 'MyISAM' does not support system tables.

标签 mysql-8.0 createuser

我安装了 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/

相关文章:

triggers - 使用连接器/Python 创建触发器 - MySQL

使用 where 字段 ='string' 选择查询时出现 MySQLi 错误

database - createuser 无法连接到数据库 postgres

mysql - 我如何将 NEAR 与 MySQL 和 JPA 一起使用

mysql - 从小型但频繁使用的 MySQL 8 表中回收空间

sum - 计算 MySQL8 中重复条目组的最大值和最小值之和

sql - 在 Oracle 数据库中创建用户

azure-ad-b2c - 有什么方法可以在 Azure AD B2C 中使用 GRAPH API 批量创建或删除用户

C# MySql 创建用户

mysql:使用phpmyadmin删除用户后无法创建用户