기록/DB

[MYSQL] DCL(Data Control Language)

5월._. 2022. 5. 13.
728x90

1. 사용방법

WITH GRANT OPTION : 권한을 다른 사용자에게 부여 가능 여부를 결정하는 옵션이다.

접속경로로 '%'를 설정하면 외부접속을 모두 허용한다.

계정 생성 시 [IDENTIFIED BY 암호]를 넣지 않으면 비밀번호 없는 계정을 생성한다.

-- 계정 생성
CREATE USER 계정명@접속경로 [IDENTIFIED BY 암호]

-- 권한 부여
GRANT 권한종류 ON 대상(DB명.테이블명) TO 계정명@접속경로 [WITH GRANT OPTION];

-- 설정한 권한 적용
FLUSH PRIVILEGES;

-- 권한 확인
SHOW GRANTS FOR 계정명@접속경로

-- 권한 해제
REVOKE 권한종류 ON 대상(DB명.테이블명) TO 계정명@접속경로;

 

권한 종류

CREATE, ALTER, DROP 테이블 생성, 변경, 삭제 일반 사용자, 관리자
SELECT, INSERT, UPDATE, DELETE 테이블 레코드 조회, 입력, 수정, 삭제 일반 사용자, 관리자
RELOAD 권한 부여된 내용을 리로드 관리자
SHUTDOWN 서버 종료 작업 실행 관리자
ALL 모든 권한 허용 관리자와 동급
USAGE 권한 없이 계정만 생성  

 

2. TCL(Transaction Control Language)

DCL 중 트랜잭션 제어 명령만 분리한 것이다. DDL은 자동커밋이 이뤄지기 때문에 주의해야한다.

-- COMMIT
COMMIT;
-- ROLLBACK
ROLLBACK;
ROLLBACK TO SAVEPOINT_NAME;
-- SAVEPOINT
SAVEPOINT SAVEPOINT_NAME;

 

출처 : http://www.tcpschool.com/mysql

'기록 > DB' 카테고리의 다른 글

[MYSQL] 그룹함수  (0) 2022.05.14
[MYSQL] DML(Data Manipulation Language)  (0) 2022.05.12
[MYSQL] DDL(Data Definition Language)  (0) 2022.05.11

댓글