
MySQL에서 데이터 제어어(Data Control Language, DCL)는 데이터베이스의 권한과 보안을 관리하는 데 사용되는 SQL 명령어다. 쉽게 말해, 누가 데이터에 접근할 수 있는지를 제어하는 역할을 한다.
DCL은 아주 간단하고 제한적이다. 역할 자체도 뚜렷해서 크게 두 가지로 요약된다.
예: "이 사람은 이 데이터베이스를 읽을 수 있어요!"
GRANT SELECT ON database_name.* TO 'username'@'host';
예: "이 사람은 더 이상 이 데이터베이스를 사용할 수 없어요!"
REVOKE SELECT ON database_name.* FROM 'username'@'host';
SELECT: 회수할 권한
예: "이 사용자의 비밀번호를 새로 설정하세요!"
SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');
쉽게 설명해서,
GRANT: "네! 들어오세요!" (허가)
REVOKE: "안 돼요, 나가세요!" (허가 취소)
SET PASSWORD: "비밀번호를 바꿉니다!" (잠금 장치 변경)