Какие гранты необходимы для просмотра привилегий * других * пользователей в information_schema.schema_privileges? - PullRequest
1 голос
/ 23 апреля 2010

Для конкретной базы данных в MySQL Server 5.5 я хотел бы просмотреть все гранты, предоставленные любому пользователю. Для этого я читал из таблицы information_schema.schema_privileges, используя оператор выбора следующим образом:

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

Проблема в том, что я вижу только свои собственные гранты для базы данных. Поэтому я пытаюсь изменить свои гранты таким образом, чтобы гранты для всех пользователей этой базы данных были указаны в результатах выбора.

В документации говорится, что информация в таблице schema_privileges взята из таблицы mysql.db, однако также предоставление select для mysql.db, похоже, не имеет никакого значения. Я все еще вижу только свои собственные гранты для рассматриваемой базы данных.

У кого-нибудь есть идеи, какие гранты требуются?

Мои текущие гранты следующие:

show grants;<br> Grants for myuser@localhost<br> GRANT USAGE ON <em>.</em> TO 'myuser'@'localhost' IDENTIFIED BY PASSWORD 'XXX'<br> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON <code>myproject. * TO 'myuser' @ 'localhost' С ГРАНТОВЫМ ВАРИАНТОМ
GRANT SELECT ON mysql. user TO 'myuser' @ 'localhost'
GRANT SELECT ON mysql. db TO 'myuser' @ 'localhost'

1 Ответ

0 голосов
/ 23 апреля 2010

ОК, я решил это, просто считав прямо из таблицы 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';

...