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

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

comments

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.