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

MySQL 보기만 볼 수 있는 권한을 사용자에게 부여하시겠습니까?

<시간/>

사용자에게 MySQL 보기만 볼 수 있는 권한을 부여하려면 아래 구문을 사용하십시오.

GRANT SELECT ON yourDatabaseName.yourViewName TO ' yourUserName@'yourLocalHost';

먼저 테이블의 모든 뷰 이름을 표시해야 합니다. 구문은 다음과 같습니다 -

SHOW FULL TABLES IN yourDatabaseName WHERE TABLE_TYPE LIKE 'VIEW';

이제 위의 구문을 구현하여 데이터베이스의 모든 보기를 표시합니다. 여기서는 데이터베이스 이름 'test'를 사용하고 있습니다. 쿼리는 다음과 같습니다 -

mysql> SHOW FULL TABLES IN test WHERE TABLE_TYPE LIKE 'VIEW';

다음은 출력입니다 -

+-------------------------------+------------+
| Tables_in_test                | Table_type |
+-------------------------------+------------+
| empidandempname_view          | VIEW       |
| empinfoview                   | VIEW       |
| lookuptable                   | VIEW       |
| view_student                  | VIEW       |
| viewemployeeidandemployeename | VIEW       |
+-------------------------------+------------+
5 rows in set (0.00 sec)

MySQL.user 테이블의 모든 사용자 이름과 호스트를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select user,host from MySQL.user;

다음은 출력입니다 -

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Manish           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| Adam Smith       | localhost |
| User1            | localhost |
| am               | localhost |
+------------------+-----------+
9 rows in set (0.00 sec)

사용자와 호스트를 모두 부여합니다. 이제 데이터베이스 'test'를 사용하고 보기는 'viewemployeeidandemployeename'입니다. 이를 'Adam Smith'@'localhost'에게 부여하기 위한 쿼리는 다음과 같습니다. -

mysql> GRANT SELECT ON test. viewemployeeidandemployeename TO ' Adam Smith'@'localhost';
Query OK, 0 rows affected (0.18 sec)