생활
mysql 뷰테이블 접근 권한 부여에 대해 질문드립니다
mysql workbench 를 사용해 3개의 테이블을 조인해 뷰테이블을 생성했습니다
뷰테이블에 접근 권한 부여를 할려고 하는데 이게 무슨 소리인지 잘모르겠네요
guest 계정과 developer 계정을 생성하고 각 계정에 어떤 권한은 주지말고 어떤 권한은 주고 머 이런 문제인데
어떤 개념을 공부하면 좋을까요?
55글자 더 채워주세요.
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';