Database/Mysql

[MySQL][SQL] 7. DCL

noahkim_ 2026. 3. 8. 19:14

1. DCL

  • 사용자 계정과 권한을 제어하는 SQL 명령어
  • mysql 시스템 스키마의 권한 테이블에 반영됨

 

2. 명령어

Grant

  • 사용자 또는 역할에 데이터베이스 객체에 대해 권한을 부여하는 명령어
  • ✅ Grant Option: 자신이 가진 권한을 다른 사용자에게 다시 부여할 수 있음

 

표) Scope

더보기
Scope 예시
Global GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';
Database GRANT SELECT ON sales_db.* TO 'user1'@'localhost';
Table GRANT SELECT, INSERT ON sales_db.orders TO 'user1'@'localhost';
Column GRANT SELECT(name, price) ON sales_db.products TO 'user1'@'localhost';
Routine GRANT EXECUTE ON PROCEDURE calc_salary TO 'user1'@'localhost';

 

예시) Grant 기본 문법

더보기
GRANT privilege_list ON scope TO 'user'@'host';

 

예시) "Grant Option" 키워드

더보기
GRANT SELECT ON mydb.* TO 'teamlead'@'localhost' WITH GRANT OPTION;

 

Revoke

  • 사용자 또는 역할에 데이터베이스 객체에 대해 권한을 회수하는 명령어

 


예시) Revoke 기본 문법

더보기
REVOKE privilege_list ON scope FROM 'user'@'host';

 

출처

'Database > Mysql' 카테고리의 다른 글

[MySQL][SQL] 8. TCL  (0) 2026.03.08
[MySQL][SQL] 5. Set Operation  (0) 2026.03.07
[MySQL][SQL] 4. Subquery  (0) 2026.03.05
[MySQL][SQL] 3-2. Inner Function: Multi Row  (0) 2026.03.05
[MySQL][SQL] 6. Join  (0) 2026.03.04