• 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

    Post Tagged with , ,

답글 남기기

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