Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 사용자에 대해 정의된 권한을 표시하는 방법은 무엇입니까?

<시간/>

이를 위해 SHOW GRANTS를 사용하십시오. 다음은 구문입니다 -

SHOW GRANTS FOR 'yourUserName'@'yourHostName';

MySQL.user 테이블에서 사용자 이름과 호스트 이름을 표시해 보겠습니다.

mysql> select user,host from MySQL.user;

이것은 다음과 같은 출력을 생성합니다 -

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| Robert           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam Smith       | localhost |
| Chris            | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
20 rows in set (0.00 sec)

SHOW GRANTS를 사용하여 특정 사용자에 대한 권한을 표시하도록 하십시오 -

mysql> SHOW GRANTS FOR 'Robert'@'%

이것은 다음과 같은 출력을 생성합니다 -

+----------------------------------------------------------------------+
| Grants for Robert@%                                                  |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Robert`@`%`                                   |
| GRANT ALL PRIVILEGES ON `sample`.* TO `Robert`@`%` WITH GRANT OPTION |
| GRANT EXECUTE ON `web`.* TO `Robert`@`%`                             |
+----------------------------------------------------------------------+
3 rows in set (0.05 sec)

위의 SHOW GRANTS 예제는 MySQL이 '%'로 가정하는 호스트의 사용자 Robert에 대한 권한 부여 정보를 반환합니다.