对于MySQL服务器5.5中的特定数据库,我想查看给任何用户的所有授权。为此,我一直在使用select语句读取information_schema.schema_privileges表,如下所示:
select * from information_schema.schema_privileges where table_schema='myproject';
问题是,我只看到我自己对数据库的拨款。因此,我试图修改我的授权,以便在select的结果中列出该数据库的所有用户的授权。
在文档中,它说schema_privileges表中的信息来自mysql.db表,但是也授予select for 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'
发布于 2010-04-23 15:18:25
好的,我通过直接从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';
https://stackoverflow.com/questions/2699436
复制相似问题