[MYSQL] 관리자 권한 허용

1. 설명

- 관리자 권한이 필요한 계정과 그룹에만 관리자 권한 부여함.

- 비인가자가 관리자 권한이 부여된 계정을 탈취시 DB에 접근할 수 있음.


2. 방법

-  mysql.user 에 적용된 권한은 모든 데이터베이스에 적용됨

2.1.1 mysql.user 테이블에 특정 사용자 계정 등록

mysql> insert into mysql.user (host, user, password) values('%', '계정', password ('비밀번호')); <- 모든 권한 'N'으로 설정

예) insert into mysql.user (host, user, password) values('%', 'root', password ('1234'));


2.1.2  mysql.user 테이블 특정 사용자 계정에 특정 권한만 변경

mysql> update mysql.user set [특정 권한]='N' where user='특정 사용자 계정';

예) update mysql.user set Grant_priv='N' where user='root';


- 사용자별 접근 DB를 mysql.db에 등록 후 접근 권한 부여

2.2.1 DB 등록시 권한 부여

mysql> insert into mysql.db values(‘%','등록 DB 이름', '계정', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

mysql> flush privileges; 


2.2.2 DB 권한 업데이트

mysql> update mysql.db set [특정 권한]='Y' where db=[등록 DB 이름] and user='user name';

mysql> flush privileges;

예) update mysql.db set Select_priv='Y' where db='test' and user='root';


3. 기타

- mysql 서비스 재시작 필요 없음.


끝.