* DB/MY-SQL

GRANT 문을 이용한 사용자 및 권한 관리

고경a 2020. 4. 13. 17:17

권한 주기

mysql > GRANT ALL PRIVILEGES ON DB명.테이블 TO 계정아이디@host IDENTIFIED BY '비밀번호';

* 계정이 이미 존재하는데 'identified by '비밀번호' 부분을 추가하면 비밀번호가 변경

 

mysql > GRANT ALL PRIVILEGES ON DB명.테이블 TO userId@localhost IDENTIFIED BY '비밀번호';

mysql > GRANT ALL PRIVILEGES ON DB명.테이블 TO userId@'%' IDENTIFIED BY '비밀번호';

* host에 '%' 입력 시 모든 원격지에서의 접속을 허용

* host 에 '168.100.%' 입력 시 IP주소가 168.100.X.X로 시작되는 모든 IP에서 원격 접속을 허용

 

mysql > GRANT ALL PRIVILEGES ON TESTDB.* TO userId@localhost IDENTIFIED BY '비밀번호';

mysql > GRANT ALL PRIVILEGES ON *.* TO userId@localhost IDENTIFIED BY '비밀번호';

* DB명, TABLE명에 * 입력 시 모든 DB, 모든 TABLE에 권한 부여

 

mysql > GRANT SELECT,INSERT,UPDATE PRIVILEGES ON TESTDB.* TO userId@localhost;

* userId에게 testdb 데이터베이스 모든 테이블에 select, insert, update 만 권한 부여

 

변경된 내용 반영 (필수!)

mysql > flush privileges;

 

부여된 권한 확인

mysql > SHOW GRANTS FOR userId@localhost;

mysql > SHOW GRANTS FOR userId@'%';

mysql > SHOW GRANTS FOR userId@'168.100.%';

 

 부여된 권한 제거

mysql > REVOKE ALL ON DB명.테이블 FROM 계정아이디;