mysql 유저 추가, 권한 설정
IDE: Ubuntu 14.04 LTS 64bit
Shell: Bash
오늘은 mysql 에서 특정 유저 추가, 권한 설정에 관해 다뤄보도록 하겠습니다.
일단 저번에 전체 유저를 등록했기 때문에 등록된 정보를 초기화 시켜주었습니다.
그런 다음 다시 유저를 등록해줬습니다.
** 중괄호만!! 실제 쿼리에서 제외시켜주셔야 됩니다.
INSERT INTO {DB이름}.user (host,user,password) VALUES ('{IP 주소 or 대역폭}', '{생성할 계정 ID}', password('{비밀번호}'));
위의 쿼리에서 특정 IP만 허용하고 싶으시면 host 부분에 192.168.0.230 이런식으로 입력하시면 되고 특정 대역폭만 허용하고 싶으시면 192.168.% 이런식으로 입력하시면 됩니다. 전체일 경우에는 % 만 입력하시면 됩니다.
그런다음 FLUSH PRIVILEGES; 명령어로 즉시적용 시켜주면 됩니다.
짜잔~ 저는 이런식으로 등록했습니다.
이제 맥으로 넘어와서 테스트 계정으로 접속했습니다. 현재 자신이 접속한 유저를 보는 방법은 SELECT user(); 입니다.
자 다음은 계정권한 설정인데요. 원래 이 설정을 계정을 만들면서 동시해 해주는 경우가 많은데 원활한 설명을 위해 따로 빼봤습니다.
mysql 에서 권한 설정은 GRANT로 해주는데요. 전체 쿼리 사용 가능하게도 설정해줄 수 있고 특정 DB에만 접근 가능하게도 설정 가능합니다. 간단하게 알아보겠습니다.
** 중괄호만!! 실제 쿼리에서 제외시켜주셔야 됩니다.
사용 가능하게 할 SQL 문에는 전체 사용가능하게 하려면 ALL PRIVILEGES 를 넣어주면 되고 그게 아니라면 SELECT, UPDATE, INSERT 이런식으로 넣어주면 넣어준 쿼리만 사용 가능하게 할 수 있다. 또는 UPDATE(name) 이라고 하면 name 이라는 컬럼에 한해서만 UPDATE 문을 허용시켜 준다는 의미다.
위에 처럼 권한설정을 하면 CREATE 문이 권한 에러가 나는 것을 확인할 수 있다.
그러나 SELECT 문은 잘 작동되는 것을 확인할 수 있다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
후기 : 중간에 쿼리 권한 설정해줄 때 고생을 많이 했다. 다른 블로그에서 참고를 많이 했는데 거기서는 user부분과 host 부분을 따옴표로 감싸주질 않고 있었다.
그래서 자꾸 1064 에러가 나서 설마해서 따옴표를 넣은 것이 잘 적용됐던 것 같다. 그리고 사실 mysql 접속이 자꾸 password 에러가 나서 새벽 6시까지 삽질하다가
마무리 못 짓고 잠들었는데 저녁시간에 맑은 정신으로 다시 해보니까 잘 되는 것 같다. 야근할바엔 다음날 와서 하는게 시간상 더 절약된다라는 의미가 더 깊게 와 닿
았다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
'Mysql' 카테고리의 다른 글
mysql log보는법 (0) | 2016.12.06 |
---|---|
mysql workbench 설치하기 (0) | 2016.12.05 |
Linux 에서 mysql 설치하기! (0) | 2016.11.25 |