任何人都知道mySQL语法来显示特定用户有权在mySQL数据库中看到的数据库名称?假设用户是'dimitris'在'localhost'访问数据库,那么看到他有权选择,更新,插入等所有数据库的语法是什么?mySQL显示用户数据库
季米特里斯
任何人都知道mySQL语法来显示特定用户有权在mySQL数据库中看到的数据库名称?假设用户是'dimitris'在'localhost'访问数据库,那么看到他有权选择,更新,插入等所有数据库的语法是什么?mySQL显示用户数据库
季米特里斯
你可以让你访问数据库的名单搭配:
SHOW DATABASES;
如果你想要得到的名单比你登录的用户进行一些其他的用户,您必须查询mysql.db
表。
对于当前登录的用户,您可以使用SHOW DATABASES;
。但是,如果用户具有SHOW DATABASES;
权限,即使他无权访问它,他也将能够看到所有数据库。 (reference)
假设您已经阅读访问mysql.db
表,你可以使用:
SELECT * FROM mysql.db WHERE User="dimitris";
这将返回结果集,与Host
(例如localhost
),Db
(例如,somedatabase
),User
(例如dimitris
)以及该数据库的权限(Select_priv
,Update_priv
等)
谢谢。比接受的答案更完整的答案。投票。 – inspirednz 2018-03-07 01:33:19
感谢您的快速回答家伙。这正是我需要的! – Sfairas 2010-10-07 13:17:26
缺少有关'mysql.db'查询应该是什么的信息。出于这个原因,我认为Lekensteyn的答案更完整。 – inspirednz 2018-03-07 01:32:57