问题:
MySQL从5.7版本升级到8.0版本后,升级当天数据库还能正常使用。
过了一段时间后,本机Navicat连接MySQL,测试连接成功,但是确定后连接报错:1449 - The user specified as a definer ('mysqlinfoschema'@'localhost') does not exist。
开启MySQL服务后,登录成功,但是使用时报错如下:
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
原因:
用户mysql.infoschema 权限问题
解决方案:
开启MySQL服务后。依次执行以下命令:
mysql -uroot -p"密码"
use mysql;
INSERT INTO mysql.user(`Host`,`User`,`plugin`,`authentication_string`,ssl_cipher,x509_issuer,x509_subject) VALUES ('localhost','mysql.infoschema','mysql_native_password','*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE','','','');
FLUSH PRIVILEGES;
update mysql.user set Select_priv = 'Y' where User = 'mysql.infoschema';
FLUSH PRIVILEGES;
再次测试执行show databases命令,成功了!