对于MySQL Server 5.5中的特定数据库,我想查看给予任何用户的所有授权。为此,我使用select语句从information_schema.schema_privileges
表中读取如下:
select * from information_schema.schema_privileges where table_schema='myproject';
问题是我只看到我的自己的授予数据库。因此,我正在尝试修改我的授权,以便为选择的结果中列出该数据库的所有用户的授权。
在documentation中,它表示schema_privileges
表格中的信息来自mysql.db
表,但select
授予mysql.db
的信息不会似乎有所作为。我仍然只看到我自己对相关数据库的拨款。
有没有人有任何想法需要补助?
我目前的拨款如下:
show grants;
Grants for myuser@localhost
GRANT USAGE ON . TO 'myuser'@'localhost' IDENTIFIED BY PASSWORD 'XXX'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON myproject
.* TO 'myuser'@'localhost' WITH GRANT OPTION
GRANT SELECT ON mysql
.user
TO 'myuser'@'localhost'
GRANT SELECT ON mysql
.db
TO 'myuser'@'localhost'
答案 0 :(得分:0)
好的,我只是直接从mysql.db
表中读出来解决了这个问题。最后它简单得多了!
select user, host, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, grant_priv from mysql.db where Db='myproject';