Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

뷰(View)를 사용할 때 필요한 권한 종류 총정리

데이터베이스에서 뷰(View)를 생성, 교체, 삭제, 조회하거나 갱신하기 위해서는 용도에 따라 서로 다른 권한이 필요합니다. 뷰 작업 시 요구되는 주요 권한을 아래에서 자세히 살펴보겠습니다.

1. CREATE VIEW 권한

새로운 뷰를 생성하려면 CREATE VIEW 권한이 반드시 필요합니다. 여기에 더해, 뷰 정의가 참조하는 기본 테이블에 접근할 수 있는 SELECT, INSERT, UPDATE 등의 충분한 권한도 함께 보유하고 있어야 합니다.

2. DROP VIEW 권한

DROP VIEW 권한은 다음 세 가지 경우에 필요합니다.

  • CREATE OR REPLACE 구문처럼 OR REPLACE 절을 사용할 때
  • DROP VIEW 문으로 뷰를 삭제할 때
  • ALTER VIEW 문으로 뷰 정의를 변경할 때

3. SELECT 권한

뷰에서 데이터를 조회하려면 해당 뷰에 대한 SELECT 권한이 있어야 합니다. 이는 일반 테이블을 조회할 때와 동일한 원칙입니다.

4. INSERT, DELETE, UPDATE 권한

갱신 가능한 뷰(Updatable View)에 대해 INSERT, DELETE, UPDATE 문을 실행하려면 각각의 작업에 대응하는 권한을 반드시 가지고 있어야 합니다. 즉, 삽입 작업에는 INSERT 권한, 삭제 작업에는 DELETE 권한, 수정 작업에는 UPDATE 권한이 각각 요구됩니다.

5. SHOW VIEW 권한

뷰 정의가 참조하는 테이블에 대해 별도의 권한이 없는 경우에는 SHOW VIEW 권한과 SELECT 권한이 함께 필요합니다. SHOW VIEW 권한이 있어야 뷰의 정의 내용을 확인할 수 있습니다.

정리

작업필요한 권한
뷰 생성CREATE VIEW + 참조 테이블 접근 권한(SELECT, INSERT, UPDATE 등)
뷰 교체·삭제·변경DROP VIEW
뷰 조회SELECT
갱신 가능한 뷰에 데이터 조작INSERT / DELETE / UPDATE
권한 없는 테이블을 참조하는 뷰의 정의 확인SHOW VIEW + SELECT

뷰를 안전하게 운영하려면 작업 목적에 맞는 최소한의 권한만 부여하는 것이 좋으며, 특히 참조 테이블에 대한 권한 관계를 사전에 명확히 이해해 두는 것이 중요합니다.