본문 바로가기
TechNical/ETC.

MySQL 사용자 생성 및 테이블별 권한 부여

by 강멍멍이 2007. 10. 7.
반응형

여차 저차 해서 MySQL을 건드릴 일이 생겨 버렸다.
사용자를 생성하고 특정 테이블만 select 할 수 있는 권한을 주는 간단한 작업인데
MSSQL 이랑 오라클이랑 달라서 테이블별 권한을 따로 부여 하는 걸 네이버랑 구글을 뒤져 보아도
디비접속하고 모든 테이블을 select하는 권한을 주는건 있는데 이상하게도
특정 테이블별로 따로 select 권한을 주는 방법을 가르쳐 주진 않더라... 내가 검색을 못 하나벼 ㅠㅠ
분명... 어딘가에는 이런 자료가 있을 꺼인데 ... 당췌 못 찼겄드라..


해서.. *.* 구문에 의문을 품고 시도를 했다.

일단 디비를 생성하고 테이블을 세개 생성했다.  table1, table2, table3
테이블별 권한 부여 테스트 이므로 여러개를 생성하고 딱 하나의 테이블(table1)만 select 하게 만들 것이다.


1. 사용자 생성
insert into user (host,user,password) values('%','kei',password('kei'))

2. 권한 부여
   접속 데이터 베이스 : kei_db
   접속 테이블        : table1

grant select on kei_db.table1 to kei

3. DB에 내용을 메모리에 반영, !! 이 구문을 써 주지 않으면 권한을 부여 해도 접속이 안 된다 !!
flush privileges


여담으로.... 하다가 삽질한 것 중 하나인데.. root 유저가 아니라 admin유저를 사용하여
디비를 생성하고 유저생성 권한 부여 하는 것 까지 했다.
처음에는 분명히 잘 못 된게 없어 보이는데 권한 부여가 죽어라고 안 되는 것이다....................
... 근데.. 알고 보니까 admin 유저에게 grant 권한이 없었더라느느느느느느느느느는.....
역시.. 뭔가 이상할때는 의심을 강력히 해봐야 하는 구나...ㅎㅎ

반응형

댓글