报错信息
ERROR 1449 (HY000): The user specified as a definer (‘mysql.infoschema’@‘localhost’) does not exist
然而发现mysql.infoschema在数据库中是存在的。
很奇怪为什么还要报这样的一个错误。
去搜索了一圈,说是让使用mysql_upgrade命令,这个命令在mysql8.0已经被废弃了。
应该是mysql8的加密方式有关。
#删除导致报错的用户
DROP USER 'mysql.infoschema'@'localhost';
#重新创建该用户,密码自己定义,留空也可以
CREATE USER 'mysql.infoschema'@'localhost' IDENTIFIED BY 'password';
#赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'mysql.infoschema'@'localhost' WITH GRANT OPTION;
#使更改生效
FLUSH PRIVILEGES;
这样完美解决问题了。
借鉴了这位老哥的博客: