DCL(Data Control Language) 은
데이터베이스에 누가, 무엇을 할 수 있는지를 제어하는 SQL이다.
| 구분 | 역할 |
|---|---|
| DDL | 구조 생성/변경 |
| DML | 데이터 변경 |
| DCL | 권한 제어 |
| TCL | 트랜잭션 제어 |
CREATE USER 'app_user'@'%' IDENTIFIED BY '1234';
@: localhost 접근 허용%: 모든 외부접근 허용IDENTIFIED BY: 패스워드 설정
| 권한 | 의미 |
|---|---|
| SELECT | 조회 |
| INSERT | 추가 |
| UPDATE | 수정 |
| DELETE | 삭제 |
| CREATE | 테이블 생성 |
| DROP | 테이블 삭제 |
| ALL (PRIVILEGES : 생략가능) | 모든 권한 |
GRANT 권한 ON 테이블 TO 사용자
예시)
GRANT SELECT ON bootcamp_shop.* TO 'app_user';
더 정확하게 하려면
'app_user'@'%'로 유저 추가
의미:
GRANT SELECT, INSERT ON bootcamp_shop.orders TO 'app_user'@'%';
GRANT SELECT, INSERT, UPDATE
ON bootcamp_shop.*
TO 'operator'@'%';
GRANT ALL (PRIVILEGES) ON bootcamp_shop.* TO 'admin'@'%';
REVOKE UPDATE ON bootcamp_shop.* FROM 'app_user'@'%';
REVOKE ALL (PRIVILEGES) ON bootcamp_shop.* FROM 'app_user'@'%';
SHOW GRANTS FOR 'app_user'@'%';