본문 바로가기
Develop/DB

MySQL 사용자에게 DB 권한 설정하는 방법

by bellsilver7 2020. 2. 29.
728x90

안녕하세요. 은은한 개발자입니다.

 

먼저

SHOW GRANTS;

로 현재 권한 부여 상태를 확인해 볼 수 있습니다.

 

GRANT ALL PRIVILEGES ON DB명.* TO ID명@localhost  IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON DB명.* TO ID명@%  IDENTIFIED BY '비밀번호';
FLUSH PRIVILEGES;

먼저 위와 같은 형태로 권한을 부여할 수 있습니다.

 

특정 행위에 대한 권한 설정

GRANT all PRIVILEGES ON userdb.* TO user@%  IDENTIFIED BY '비밀번호';

=> all 로 설정하면 모든 행위에 대한 권한을 주게 되는 것이고 만약 select, insert, update, delete 중 특정 행위에 대한 권한을 설정할 경우 all 의 자리에 select, update 같이 입력하면 특정 행위에 대해서만 권한을 설정할 수 있습니다.

 

특정 IP (원격지) 에 대한 권한 설정

GRANT ALL PRIVILEGES ON userdb.* TO user@%  IDENTIFIED BY '비밀번호';

=> % 가 있는 host 입력 자리에 '222.111.0.1' 로 입력하면 222.111.0.1 IP 에 대한 접근을 허용할 수 있습니다. 

=> 또는 '222.111.0.%' 와 같이 입력하게 되면 IP 주소가 222.111.0.* 로 시작되는 모든 IP 에서 접근을 허용할 수 있습니다.

 

 

권한 설정이 끝나면

FLUSH PRIVILEGES;

를 입력하여 메모리에 반영합니다.

 

728x90

댓글