MySQL Server 5.5 の特定のデータベースについて、任意のユーザーに付与されたすべての権限を表示したいと考えています。これを行うためにinformation_schema.schema_privileges
、次のように select ステートメントを使用してテーブルから読み取っています。
select * from information_schema.schema_privileges where table_schema='myproject';
問題は、データベースに対する自分の許可しか表示されないことです。したがって、そのデータベースのすべてのユーザーの許可が選択の結果にリストされるように、許可を変更しようとしています。
ドキュメントでは、テーブルの情報は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'