Mysql 8.0.16 之后, mysql.infoschema 不存在错误的解决方案

登录数据库后执行以下命令

mysql> show databases;

报错: ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

解决方案:

 1、在Mysql 8.0.16 之前,我们用下面的方案可以解决

mysql -u root -p
Enter password:密码
SET GLOBAL innodb_fast_shutdown = 1;
mysql_upgrade -u root -p
Enter password:密码

2、MySQL 8.0.16开始 mysql_upgrade 升级程序已经废弃(这里官网有说明)。

1、创建用户:

CREATE USER 'mysql.infoschema'@'%' IDENTIFIED BY 'password';

2、用户授权:

grant all privileges on *.* to 'mysql.infoschema'@'%'; 

        注意:'@'%'这里的含义如下,%表示:授权所有用户

mysql> use mysql
Database changed
mysql> select user,host from user;
+------------------+------+
| user             | host |
+------------------+------+
| mysql.infoschema | %    |
| root             | %    |
+------------------+------+
2 rows in set (0.00 sec)

3、刷新授权:

flush privileges; 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值