[MYsql]_데이터 제어어

Kingyj·2024년 12월 6일

데이터 제어어_(DCL)

MySQL에서 데이터 제어어(Data Control Language, DCL)는 데이터베이스의 권한과 보안을 관리하는 데 사용되는 SQL 명령어다. 쉽게 말해, 누가 데이터에 접근할 수 있는지를 제어하는 역할을 한다.

DCL은 아주 간단하고 제한적이다. 역할 자체도 뚜렷해서 크게 두 가지로 요약된다.

  • 권한 부여 (GRANT)
  • 권한 회수 (REVOKE)

기본 명령어

  • GRANT: 권한을 부여합니다.

예: "이 사람은 이 데이터베이스를 읽을 수 있어요!"

GRANT SELECT ON database_name.* TO 'username'@'host';
  • SELECT: 읽기 권한
    • database_name.*: 특정 데이터베이스의 모든 테이블
    • 'username'@'host': 사용자 이름과 접근 가능한 호스트
      REVOKE: 권한을 회수합니다.

예: "이 사람은 더 이상 이 데이터베이스를 사용할 수 없어요!"

REVOKE SELECT ON database_name.* FROM 'username'@'host';
  • SELECT: 회수할 권한

    • 'username'@'host': 권한을 잃을 사용자
    • SET PASSWORD: 사용자 비밀번호를 설정하거나 변경합니다.

예: "이 사용자의 비밀번호를 새로 설정하세요!"

SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');

쉽게 설명해서,

GRANT: "네! 들어오세요!" (허가)
REVOKE: "안 돼요, 나가세요!" (허가 취소)
SET PASSWORD: "비밀번호를 바꿉니다!" (잠금 장치 변경)

0개의 댓글