首页 > 解决方案 > 重启后无法在 mysql db 上创建用户或授予权限

问题描述

我有一个在 ubuntu 服务器上运行的 mysql 数据库。原来是v5.7,后来升级到8.0.23版本。我最近重新启动了我的 ubuntu 服务器,现在我似乎无法创建用户或授予权限。我有一个示例,我尝试在下面创建两个测试用户,但我不断收到与 MyISAM 相关的错误。有谁知道问题可能是什么,您能建议如何解决吗?

mysql> create user 'testuser1'@'%%' identified by 'test1';
ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.user]

我尝试了这篇文章中的建议:

如何修复 ERROR 1726 (HY000):存储引擎“MyISAM”不支持系统表。在 CREATE USER 之后的 Mysql 8.0

mysql> alter table mysql.db ENGINE=InnoDB;
Query OK, 7 rows affected (0.10 sec)
Records: 7  Duplicates: 0  Warnings: 0

mysql> alter table mysql.columns_priv ENGINE=InnoDB;
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

但它似乎没有解决它

mysql> create user 'test' identified by 'test';

ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.user]

标签: mysqlubuntu-server

解决方案


我遇到过同样的问题。

对我有用的是停止 MySQL 服务。

service mysqld stop

然后运行以下命令以强制升级模式。

mysqld --upgrade=FORCE

然后再次启动 MySQL 服务。

service mysqld start

之后一切都开始正常工作。


推荐阅读