생활
mysql 뷰테이블 접근 권한 부여에 대해 질문드립니다
mysql workbench 를 사용해 3개의 테이블을 조인해 뷰테이블을 생성했습니다
뷰테이블에 접근 권한 부여를 할려고 하는데 이게 무슨 소리인지 잘모르겠네요
guest 계정과 developer 계정을 생성하고 각 계정에 어떤 권한은 주지말고 어떤 권한은 주고 머 이런 문제인데
어떤 개념을 공부하면 좋을까요?
2개의 답변이 있어요!
view를 생성할때 특정사용자만 실행하능하도록 하는 방법과 특정DB에 속한 view를 실행가능하도록 권한을 설정하는 방법이 있습니다.
view를 생성할때 특정 사용자만(developer) 접근 가능하도록 설정 CREATE DEFINER=`developer`@`%` VIEW view_name AS SELECT qty, price, qty*price AS value FROM t;특정사용자에게 특정DB의 view 실행권한 설정 view 실행권한 설정 GRANT SHOW VIEW ON `db_name`.* TO 'developer'@'%'; view 실행권한 제거 REVOKE SHOW VIEW ON `db_name`.* FROM 'developer'@'%';안녕하세요.
developer 계정으로 view를 생성하고 guest 계정에서 view를 조회할 권한을 부여하는 거라면 아래처럼 하시면 됩니다.
MYSQL 메뉴얼 참고 : https://dev.mysql.com/doc/refman/8.0/en/grant.html
-- developer 계정으로 view 생성 CREATE VIEW ...; -- developer 계정이 guest 계정에게 view를 조회할 수 있는 권한 부여 -- localhost는 접근 범위로 IP 또는 % (아무데서나 접속 가능)로 설정 가능 GRANT SELECT ON DB명.VIEW명 TO 'guest'@'localhost'; -- 권한 확인 SHOW GRANTS FOR 'guest'@'localhost'; -- 권한 삭제 REVOKE SELECT ON DB명.VIEW명 FROM 'guest'@'localhost';