重新启动后无法在 MySQL 数据库上创建用户或授予权限



我在ubuntu服务器上运行了一个mysql-db。最初是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]

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

如何修复错误1726(HY000(:存储引擎';MyISAM';不支持系统表。在Mysql 8.0中CREATE USER 之后

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]

我遇到了同样的问题。

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

service mysqld stop

然后运行以下命令以强制升级架构。

mysqld --upgrade=FORCE

然后重新启动MySQL服务。

service mysqld start

从那以后,一切都很顺利。

最新更新