root 访问拒绝尝试更改 information_schema

root access denied trying to change information_schema

我以 root 用户身份登录到我的 MySQL 数据库(社区版本 5.6)。通过执行 SHOW GRANTS;

可以看到我拥有全局权限

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY PASSWORD '*E5BDEE3EBCA26FB68C52549E9AD22869FCE94926' WITH GRANT OPTION

但是,我正在尝试更改 information_schema 数据库 global_variables table 中的一个变量,并让 access denied for user root@% to database information_schema

如何在 global_variables table 中更改此值?

information_schema 是 read-only 设计的。正如您可以在 MySQL manual 中读取的那样,您不能在 table 中写入,即使用户具有这样做的权限。

如果用户有权限,您可以通过SQL查询更改全局变量:

SET GLOBAL <key> = <value>;

您可以像这样更改赠款的主机

UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='username';
FLUSH PRIVILEGES;