Spec-Zone.ru › MySQL 5.7

13.7.5.21 Отображение наборов привилегий

SHOW GRANTS [FOR user]

Это утверждение отображает привилегии, назначенные учётной записи пользователя MySQL, в виде GRANT утверждений, которые необходимо выполнить для дублирования назначений привилегий.

Примечание

Чтобы отобразить информацию, не связанную с привилегиями, для учётных записей MySQL, используйте утверждение SHOW CREATE USER. См. Раздел 13.7.5.12, «Отображение создания пользователя».

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

Для указания учётной записи для SHOW GRANTS используйте тот же формат, что и для утверждения GRANT (например, 'jeffrey'@'localhost'):

mysql> SHOW GRANTS FOR 'jeffrey'@'localhost';
+------------------------------------------------------------------+
| Grants for jeffrey@localhost                                     |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `jeffrey`@`localhost`                      |
| GRANT SELECT, INSERT, UPDATE ON `db1`.* TO `jeffrey`@`localhost` |
+------------------------------------------------------------------+

Часть host, если она опущена, по умолчанию равна '%'. Дополнительную информацию о способах указания имён учётных записей см. в Разделе 6.2.4, «Указание имён учётных записей».

Для отображения привилегий, предоставленных текущему пользователю (учётной записи, которую вы используете для подключения к серверу), можно использовать любое из следующих утверждений:

SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

Если SHOW GRANTS FOR CURRENT_USER (или любой эквивалентный синтаксис) используется в контексте definer, например, в хранимой процедуре, которая выполняется с привилегиями definer, а не invoker, отображаемые привилегии будут принадлежать definer, а не invoker.

SHOW GRANTS не отображает привилегии, доступные указанной учётной записи, но предоставленные другой учётной записи. Например, если существует анонимная учётная запись, указанная учётная запись может использовать её привилегии, но SHOW GRANTS не отображает их.

Вывод SHOW GRANTS не включает IDENTIFIED BY PASSWORD разделы. Вместо этого используйте утверждение SHOW CREATE USER. См. Раздел 13.7.5.12, «Отображение создания пользователя».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/show-grants.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API