2010-04-23 17 views
1

Pour une base de données spécifique dans un serveur MySQL 5.5, je voudrais voir toutes les subventions accordées à tout utilisateur. Pour ce faire, je l'ai lu de la table information_schema.schema_privileges en utilisant une instruction select comme suit:Quelles subventions sont requises pour voir les privilèges des * autres * utilisateurs dans information_schema.schema_privileges?

select * from information_schema.schema_privileges where table_schema='myproject';

Le problème est que je ne vois que mes propres subventions pour la base de données. J'essaie donc de modifier mes subventions de sorte que les subventions pour tous les utilisateurs pour cette base de données sont répertoriés dans les résultats de la sélection.

Dans le documentation il est dit que les informations contenues dans la table schema_privileges vient de la table mysql.db, mais aussi accorder select pour mysql.db ne semble pas faire de différence. Je ne vois toujours que mes propres subventions pour la base de données en question.

Est-ce que quelqu'un a des idées pour lesquelles des subventions sont requises?

Mes subventions actuelles sont les suivantes:.

show grants;
Grants for [email protected]
GRANT USAGE ON . TO 'myuser'@'localhost' IDENTIFIED BY PASSWORD 'XXX'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON myproject * TO 'myuser' @ 'localhost' AVEC OPTION DE SUBVENTION
GRANT SELECT ON mysql. user A 'myuser' @ 'localhost'
SUBVENTION SELECT ON mysql. db TO 'myuser' @ 'localhost'

Répondre

0

OK, je l'ai résolu en lisant directement à partir du tableau mysql.db. C'était beaucoup plus simple à la fin!

select user, host, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, grant_priv from mysql.db where Db='myproject';