在我将MySQL 5.7升级到MySQL 8.0之后,我再次启动了MySQL,但我遇到了一个错误:在try 转储表空间时,指定为定义器('MySQL.infoschema'@'localhost')的用户不存在.

推荐答案

当我不小心将MySQL版本从8降级到5.7时,我也犯了同样的错误.在第一次启动时,旧版本 destruct 了某些东西,因此版本8显示了上面的错误.

docker exec -it mysql bash

然后我基本上按照步骤here

mysql -u root -p
mysql> SET GLOBAL innodb_fast_shutdown = 1;
mysql_upgrade -u root -p

这花了几分钟,但随后一切又恢复正常.

Mysql相关问答推荐

SQL条件 Select 和条件WHERE

SQL中的搜索模式

MySQL INSERT INSERT ON DIPLICATE KEY UPDATE WITH COMPAY PRIMARY KEY失败

根据计数按月和年对数据进行分组()

我可以指示MariaDB-Install-db和MariaDB忽略配置中的用户设置吗?

在MySQL CLI中,是否有自动完成过程的方法?

使用复合主键更新后的MySQL触发器失败

Mysql JSON_REMOVE 数组键和值 (MariaDB)

此更新查询是否有任何可能的重写选项?

使用另一个表中的值更新一个表中的值

如果我创建一个没有主键的表然后添加一个主键,主键是聚集索引吗?

Laravel classloader.php 错误打开流失败:没有这样的文件或目录

索引和多列主键

用于国际和多语言目的的数据库建模

MySQL行格式:固定和动态之间的区别?

MySQL中的行值增加和减少1

MYSQL_ROOT_PASSWORD 已设置但在 docker 容器中获取用户'root'@'localhost'的访问被拒绝(使用密码:YES)

如何从命令行调用带有参数的mysql存储过程?

如何将 MySQL 数据库导出为 JSON?

MySQL - 实体:表 'TableDetails' 中列 'IsPrimaryKey' 的值是 DBNull