MySQL 사용자 권한부여 (grant 명령어)
MySQL에서 사용자 권한 설정을 하는 방법에는 Insert문을 이용하는 방법과 grant명령어를 이용하는 방법이 있는데,
기본 꼬라지는 grant 명령어가 훨씬 복잡해 보이지만 익숙해지면 Insert문은 쳐다도 안보게 된답니다(개인적인 생각)
기본 꼬라지
grant all privileges on [데이터베이스명.테이블명] to [사용자@호스트] identified by '비밀번호' [with grant option]; |
|
이렇게 봐서는 저도 모르겠네요.
바로 많이 쓰이는 예제로 넘어갑니다.
mysql> grant all privileges on test.* to myuser@localhost identified by '비밀번호';
위의 예제는 test 데이터베이스에 사용자 myuser가 local에서만 접근가능하게 권한을 설정한 예입니다.
물론 뒤에 설정한 비밀번호가 필요합니다.
원격 접속도 필요하다면 아래와 같이 localhost 부분을 '%'으로 변경하시면 됩니다.
mysql> grant all privileges on test.* to myuser@'%' identified by '비밀번호';
보안때문에 원격지 주소를 하나로 제한하고 싶으시면 %부분을 원격지 아이피로 대체하시면 됩니다.
mysql> grant all privileges on test.* to myuser@192.63.13.118 identified by '비밀번호';
권한제거
revoke all on [데이터베이스명.테이블명] from 사용자;
|
|
위에 예제를 근거로 myuser의 권한을 제거하는 예입니다.
mysql> revoke all on test.* from myuser;
아래는 MySQL에서 위의 명령어를 실제로 실행해본 모습입니다.