I.K.Picture & IT Info.

mysql 사용자별 권한 부여, 제거, 삭제 및 설정 본문

Development/Database

mysql 사용자별 권한 부여, 제거, 삭제 및 설정

helpful-intruder 2016. 1. 21. 16:41
반응형

1. 권한부여(GRANT)
관리자의 권한일 경우
mysql> grant all
-> on *
-> to 유저명 identified by ‘패스워드’
-> with grant option;

권한이 없는 일반 사용자의 경우
mysql> grant usage
-> on DB명.*
-> to 유저명 identified by ‘패스워드’
-> with grant option;

필요 권한만 설정할 경우
mysql> grant select, insert, update, delete, index, alter, create, drop(기타 필요권한 나열)
-> on DB명.*
-> to 유저명 identified by ‘패스워드’
-> with grant option;


2. 권한 취소(REVOKE)
권한들을 취소할 경우
mysql> revoke all privileges, grant
-> from 유저명;

권한 일부 취소를 원할 경우
mysql> revoke alter, create, drop(기타 취소권한 나열)
-> on DB명.*
-> from 유저명;

접근 거부
mysql> revoke all
-> on DB명.*
-> from 유저명;


3. 유저 삭제
mysql> use mysql; (DB선택을 미리해야 함)
mysql> delete from user where User=’유저명’;
mysql> flush privileges;

 

# 원격지에서 root로 접속하는 경우
grant all privileges on *.* to root identified by ‘암호’ with grant option;


# ‘사용자’가 ‘암호’으로 모든 컴퓨터에서 모든 디비와 테이블에 접속하도록 허용
grant all privileges on *.* to 사용자 identified by ‘암호’;
# ‘사용자’가 ‘암호’으로  localhost 에서 db1 디비의 table1에 접속하도록 허용
grant all privileges on root.db1 to 사용자@’localhost’ identified by ‘암호’;
# ‘사용자’가 ‘암호’으로 111.222.333.444 에서 db1 디비의 모든 테이블에 접속하도록 허용
grant all privileges on root.* to 사용자@’111.222.333.444′ identified by ‘암호’;
# ‘사용자’가 ‘암호’으로 111.222.333.0/24 에서 모든 디비와 테이블에 접속하도록 허용
grant all privileges on *.* to 사용자 @’111.222.333.%’ identified by ‘암호’;
# ‘사용자’가 ‘암호’ 권한만을 가지도록 하고 싶다면 아래와 같이

mysql> grant create, drop, alter, select, insert, delete, update on 테이타베이스명.* to 사용자@localhost identified by ‘암호’;

<권한 제거>
revoke all on 디비명.테이블명 from 사용자;


<권한 적용>
# 모든 명령 후에 항상 아래 명령을 실행해야 실제로 적용된다.
flush privileges;


반응형
Comments