首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql8新管理员用户无法授予代理

问mysql8新管理员用户无法授予代理
EN

Stack Overflow用户
提问于 2020-09-21 16:04:20
回答 1查看 65关注 0票数 0

我正在使用MySql8,发现了一个奇怪的问题。我已经从root用户创建了一个新的admin用户,如下所示

代码语言:javascript
复制
use mysql
create user 'admin'@'localhost' IDENTIFIED BY 'Somehardpassword1';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
flush privileges;

然后,我使用此用户登录,并尝试授予代理,但权限被拒绝。我可以授予root代理权限,但不能授予我的新管理员用户代理权限。

代码语言:javascript
复制
mysql> GRANT PROXY ON 'mySQL_AD'@'%' TO ''@'';
ERROR 1698 (28000): Access denied for user 'admin'@'localhost'
mysql>

我是不是漏掉了什么?我可以授权、修改和创建其他所有内容,但不能授权代理。

管理员用户权限如下:

代码语言:javascript
复制
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `admin`@`localhost` WITH GRANT OPTION

GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `admin`@`localhost` WITH GRANT OPTION
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-21 16:25:51

不确定这是否是正确的方式,但这对我来说是有效的:

我可以看到根用户在mysql.proxies_priv表中有一个条目:

代码语言:javascript
复制
mysql> select * from mysql.proxies_priv;
+-----------+------+--------------+--------------+------------+---------+---------------------+
| Host      | User | Proxied_host | Proxied_user | With_grant | Grantor | Timestamp           |
+-----------+------+--------------+--------------+------------+---------+---------------------+
| localhost | root |              |              |          1 | boot@   | 0000-00-00 00:00:00 |
+-----------+------+--------------+--------------+------------+---------+---------------------+
1 row in set (0.00 sec)

因此,我克隆了该条目并添加了我的管理员用户

代码语言:javascript
复制
insert into mysql.proxies_priv values ('localhost','admin','','','1','boot@','0000-00-00 00:00:00');
 flush privileges;

这给出了以下输出

代码语言:javascript
复制
mysql> select * from mysql.proxies_priv;
+-----------+-------+--------------+--------------+------------+---------+---------------------+
| Host      | User  | Proxied_host | Proxied_user | With_grant | Grantor | Timestamp           |
+-----------+-------+--------------+--------------+------------+---------+---------------------+
| localhost | admin |              |              |          1 | @boot   | 0000-00-00 00:00:00 |
| localhost | root  |              |              |          1 | @boot   | 0000-00-00 00:00:00 |
+-----------+-------+--------------+--------------+------------+---------+---------------------+
2 rows in set (0.00 sec)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63988327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档