사용자를 두명 생성하고 DB의 영역을 무한대로 준다.
CREATE USER ${USERNAME} IDENTIFIED BY ${PASSWORD}
CREATE USER esperer IDENTIFIED BY 'hope';
CREATE USER hope IDENTIFIED BY 'hope2';
GRANT CREATE SESSION, UNLIMITED TABLESPACE TO esperer, hope;
SHOW GRANTS FOR 'userid'@localhost; (또는 'userid'@'%';)
GRANT ALL ON DATABASE.TABLE TO 'userid'@localhost; (또는 'userid'@'%';)
GRANT SELECT, UPDATE ON DATABASE.TABLE TO 'userid'@localhost; (또는 'userid'@'%';)
- 옵션 정리
- ALL : 모든 권한
- SELECT, INSERT, UPDATE 등 : 특정 조회, 수정, 추가의 관한 권한
- DATABASE.TABLE: 특정 데이터베이스의 특정 테이블에만 권한을 줄 수 있음 / . : 모든 데이터베이스의 모든 테이블에 대한 권한을 부여
GRANT [객체권한명] (컬럼)
ON [객체명]
TO { 유저명 | 롤명 | PUBLC} [WITH GRANT OPTION]
GRANT SELECT ,INSERT
ON TEST_TABLE
TO esperer WITH GRANT OPTION
REVOKE { 권한명 [, 권한명...] ALL}
ON 객체명
FROM {유저명 [, 유저명...] | 롤명(ROLE) | PUBLIC}
[CASCADE CONSTRAINTS]
- CASCADE CONSTRAINT :이 명령어의 사용으로 참조 객체 권한에서 사용된 참조 무결성 제한을 같이 삭제 가능
- WITH GRANT OPTION 으로 객체 권한을 부여한 사용자의 객체 권한을 철회하면 권한을 부여받은 사용자가 부여한 객체 권한 또한 같이 철회되는 종속철회가 발생한다.
REVOKE SELECT , INSERT
ON TEST_TABLE
FROM esperer
[CASCADE CONSTRAINTS]