728x90
반응형
MySQL REVOKE: 권한을 제거하는 방법 쉽게 이해하기
메타 설명: MySQL에서 사용자 권한을 제거하고 싶다면 REVOKE 문을 이해해야 합니다. 초보 개발자도 쉽게 따라 할 수 있도록 예제와 함께 설명합니다.
MySQL에서는 데이터베이스 사용자에게 특정 권한을 부여(GRANT)하거나 제거(REVOKE)할 수 있습니다. 이 글에서는 그중에서도 권한을 회수하는 REVOKE 문에 대해 알아보겠습니다.
REVOKE란?
REVOKE는 MySQL에서 사용자의 권한을 제거할 때 사용하는 명령어입니다. 예를 들어, 어떤 사용자가 SELECT, INSERT 권한을 가지고 있다면, REVOKE를 통해 이 권한을 일부 또는 전체 회수할 수 있습니다.
기본 문법
REVOKE 권한목록 ON 데이터베이스.테이블 FROM '사용자'@'호스트';
- 권한목록: 제거하려는 권한 (SELECT, INSERT, UPDATE 등)
- 데이터베이스.테이블: 권한을 제거할 범위 (*.*이면 모든 DB와 테이블)
- '사용자'@'호스트': 권한을 가진 사용자 지정
예제: 특정 권한 제거하기
사용자 dev_user에게서 INSERT 권한만 제거하려면 아래와 같이 실행합니다:
REVOKE INSERT ON test_db.* FROM 'dev_user'@'localhost';
이렇게 하면 dev_user는 더 이상 test_db 내 테이블에 데이터를 삽입할 수 없습니다.
모든 권한 제거하기
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'dev_user'@'localhost';
이 명령은 dev_user가 가지고 있는 모든 권한과 다른 사용자에게 권한을 줄 수 있는 GRANT OPTION까지 제거합니다.
권한 변경 사항 적용
MySQL 8.0부터는 REVOKE를 실행한 후 별도로 FLUSH PRIVILEGES를 할 필요가 없습니다. 시스템에서 자동으로 변경 사항이 반영됩니다.
주의할 점
- REVOKE는 권한이 실제로 있는 경우에만 적용됩니다. 없는 권한을 제거하려고 하면 에러는 발생하지 않지만 아무 효과도 없습니다.
- GRANT OPTION을 제거하면 해당 사용자는 더 이상 다른 사용자에게 권한을 부여할 수 없습니다.
MySQL에서 권한 관리는 보안과 직결되는 중요한 부분입니다. REVOKE 문을 제대로 이해하고 사용한다면, 보다 안전한 데이터베이스 운영이 가능합니다.
공식 문서 링크: MySQL REVOKE Statement
728x90
반응형
'SQL > MYSQL' 카테고리의 다른 글
[MySQL] ALTER RESOURCE GROUP 문 완벽 가이드: 리소스 제어의 핵심 기능 (1) | 2025.06.14 |
---|---|
[MySQL] SET ROLE 문 완벽 이해: 동적 권한 제어의 핵심 기능 (0) | 2025.06.14 |
[MySQL] SET PASSWORD 문 완벽 가이드: 안전한 비밀번호 관리를 위한 필수 지식 (3) | 2025.06.13 |
[MySQL] SET DEFAULT ROLE 문 완전 정복: 사용자 권한 관리의 핵심 (0) | 2025.06.13 |
[MySQL] Index Condition Pushdown 사용 방법 및 예시 (0) | 2025.03.19 |
[MySQL] RENAME USER 사용 방법 및 예시 (0) | 2025.03.19 |
[MySQL] 엔진 조건 푸시다운(Engine Condition Pushdown) 사용 방법 및 예시 (0) | 2025.02.17 |
[MySQL] GRANT 문 사용 방법 및 예시 (0) | 2025.02.17 |