2009년 9월 27일 일요일

MySQL 유저관리2

유저권한 확인

유저의 권한을 확인하는 경우 다음과 같은 구문이 된다.

SHOW GRANTS FOR '유저명'@'호스트'

MySQL에서는 유저는 호스트하고 한 쌍이라는 것을 잊지말아야한다.
"USAGE" 행만 표시되는 경우, "아무권한도 가지고 있지않다."라는 의미이다.

유저권한 삭제

유저권한을 삭제하는 경우는 REVOKE문을 사용한다. 실행하는 데에는 GRANT OPTION과 권리를 삭제하는 권한을 갖고 있을 필요가 있다.

유저명과 호스트명을 한 쌍이라는 것을 잊지말아야한다.

모든 권한을 삭제해도 유저 자체가 삭제되는 경우는 없다.

REVOKE 권한 [(필드명 [,필드명 ...] )] [,권한 [(필드명 [,필드명 ...] )] ] ...
ON {
[TABLE] {테이블명|*|*.*|데이터베이스명.*}
|PROCEDURE 데이터베이스명.스토어드프로시져명
|FUNCTION 데이터베이스명.FUNCTION명
}
FROM '유저명'@'호스트' [,'유저명'@'호스트' ]...

REVOKE예제
mysql>REVOKE DELETE ON test.* FROM 'user'@'localhost';


유저삭제
유저를 삭제하는 구문은 다음과 같이 된다. 유저를 삭제하려면 CREATE USER 또는 mysql권한 테이블에 대해서 DELETE권한이 필요하게 된다.
MySQL 4.1까지는 유저에 어떠한 권한이 있으면 삭제가 되지 않았다.

DROP USER '유저명'@'호스트'