我在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
从那以后,一切都很顺利。