13.7.1.6 REVOKE 구문
REVOKEpriv_type
[(column_list
)] [,priv_type
[(column_list
)]] ... ON [object_type
]priv_level
FROMuser
[,user
] ... REVOKE ALL PRIVILEGES, GRANT OPTION FROMuser
[,user
] ... REVOKE PROXY ONuser
FROMuser
[,user
] ...
REVOKE
문을 사용하면 시스템 관리자는 MySQL 계정에서 권한을 취소 할 수 있습니다. 각 계정 이름은 섹션 6.2.3 "계정 이름 지정" 에 설명되어있는 형식이 사용됩니다. 예 :
REVOKE INSERT ON *. * FROM 'jeffrey'@ 'localhost';
계정 이름의 사용자 이름 부분 만 지정한 경우 '%'
의 호스트 이름 부분이 사용됩니다.
각 권한이있는 수준, priv_type
와 priv_level
의 허용되는 값 및 사용자와 암호를 지정하는 구문 대한 자세한 내용은 섹션 13.7.1.4 "GRANT 구문" 을 참조하십시오.
첫 번째 REVOKE
구문을 사용하려면 GRANT OPTION
권한이 필요하며 취소하고자하는 권한을 가지고 있어야합니다.
모든 권한을 취소하려면 두 번째 구문을 사용합니다. 그러면 지정된 1 명 이상의 사용자의 모든 글로벌, 데이터베이스, 테이블, 열 및 루틴 권한이 삭제됩니다.
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user
[, user
] ...
이 REVOKE
구문을 사용하려면 mysql
데이터베이스에 대한 글로벌 CREATE USER
권한 또는 UPDATE
권한이 필요합니다.
REVOKE
는 권한을 제거하지만, mysql.user
테이블 엔트리는 삭제하지 않습니다. 사용자 계정을 완전히 삭제하려면 DROP USER
( 섹션 13.7.1.3 "DROP USER 구문" 을 참조하십시오) 또는 DELETE
를 사용합니다.
부여 테이블에 대소 문자가 혼합 된 데이터베이스 또는 테이블 이름을 포함 권한 행을 유지해야하며, lower_case_table_names
시스템 변수가 0이 아닌 값으로 설정되어있는 경우, REVOKE
를 사용하여 이러한 권한을 취소 할 수 없습니다. 부여 테이블을 직접 조작 할 수 있어야합니다. ( lower_case_table_names
이 설정되어있을 때, GRANT
는 이러한 행을 생성하지 않지만, 그 변수가 설정되기 전에 이러한 행이 작성되어 있었을 가능성이 있습니다.)
mysql 프로그램에서 성공적으로 실행 된 경우 REVOKE
는 Query OK, 0 rows affected
에 응답합니다. 그러면 어떤 권한이 부여되었는지를 판정하려면, SHOW GRANTS
를 사용합니다. 섹션 13.7.5.22 "SHOW GRANTS 구문" 을 참조하십시오.