Language/NoSQL&JDBC

Mysql Grant(계정)

아르비스 2016. 8. 10. 18:50

1. GRANT


    GRANT 권한1(컬럼1[,컬럼2,컬럼3...])[,권한2(컬럼1[,컬럼2,컬럼3...]), 권한3...]

    ON [ 오브젝트명| 테이블명 | * ].[디비명]

    TO 유저명 [IDENTIFIED BY '비밀번호']

    [WITH 위드옵션[위드옵션2,...]]


ex)

    grant all on *.* to 'test0'@'localhost' identified by 'test0';

    grant select on *.* to 'test1'@'localhost' identified by 'test1';

    grant select on *.* to 'test2'@'localhost' identified by 'test2' with grant option;


- 권한 종류

    mysql DB의 user 테이블을 describe하면 권한_Privs 형식의 컬럼 명을 통해 권한 부여 가능.


- 권한 종류 뒤에 컬럼명을 지정해서 특정 컬럼에 대한 권한만 부여할 수도 있다.


- 위드 옵션

    WITH GRANT OPTION을 통해 권한을 부여받은 유저는 다른 유저에게 자신이 행사하는 권한을 부여할 수 있다.


- 권한 부여자에게 CREATE USER 권한이 있고 유저가 존재하지 않을 경우 유저도 생성해준다.



2. REVOKE


    REVOKE 권한1(컬럼1[,컬럼2,컬럼3...])[,권한2(컬럼1[,컬럼2,컬럼3...]), 권한3...]

    ON [ 오브젝트명| 테이블명 | * ].[디비명]

    FROM 유저명 [IDENTIFIED BY '비밀번호']


ex)

    revoke all on *.* from 'test2'@'localhost';    


- 부여했던 권한을 회수한다.


- WITH GRANT OPTION 으로 권한을 부여했던 유저의 권한이 회수되어도 하위 유저의 권한은 사라지지 않는다.


3. 사용자 계정 삭제

DROP USER [user명]@[server명];

ex) drop user user1@localhost;