gpt4 book ai didi

mysql - mysql 数据库用户未被授权但仍然可以查询?

转载 作者:行者123 更新时间:2023-11-29 00:17:57 25 4
gpt4 key购买 nike

以下是我为检查特定用户的授权所做的工作:

mysql> SHOW GRANTS FOR mmuser1;
+-----------------------------------------------------------------------------------------------------------------+
| Grants for mmuser1@% |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mmuser1'@'%' IDENTIFIED BY PASSWORD '*fesfesfesfes' |
| GRANT ALL PRIVILEGES ON `shopping_mm`.* TO 'mmuser1'@'%'

但是,如果我执行以下操作:

mysql -ummuser1 -p 

我可以访问和查询另一个数据库(体育)。另外,在做的时候:

SELECT Db,User FROM db;

我可以看到这个 Db 与这个用户相关联。

怎么可能没有显示在 Grants 表中?

最佳答案

根据 SHOW GRANTS Syntax 记录:

If you specify only the user name part of the account name, a host name part of '%' is used.

很可能您已使用明确的主机名向您的用户授予权限,例如'mmuser1'@'本地主机'。正如稍后在同一页面上记录的那样,一旦连接就可以验证这一点:

To list the privileges granted to the account that you are using to connect to the server, you can use any of the following statements:

SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

或者,也可以简单地检查 CURRENT_USER :

SELECT CURRENT_USER;

关于mysql - mysql 数据库用户未被授权但仍然可以查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22259692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com