MYSQL 사용자 계정생성 및 디비 권한 주기

오늘 엄청난 사건이 하나 일어났는데, 시간이 되면 한번 썰좀 풀어보겠습니다. 원격지 접속을 열어 놓았는데, 그 계정이 루트 권한이 있어서 디비를 암호화시키고 비트코인 결재하라는 내용이었습니다^^

 

이번기회에 보안적인 측면도 공부좀 하고, 연구를 좀 더 해봐야 할것 같네요. 이번에는 MYSQL 사용자 계정생성 및 디비 권한 주기에 대해서 알아볼텐데요. 이번 해킹 사건으로 인해서 계정을 새로 만들고 권한을 주는걸 정리 차원차 글을 적어봅니다.

 

 

MYSQL 사용자 계정생성

 

 

우선 MYSQL 사용자 계정 생성에 대해서 살펴보겠습니다. 계정 생성은 손쉽게 처리할 수 있습니다. 명령어는 create 구요. 간단하게 생성해주면 끝입니다. 살펴보시죠!

 

 

우선 사용자 아이디를 만듭니다.

 

create userid 만들아이디

 

ex) create userid test;

 

혹은 권한을 지정해서 만들 수도 있는데요 MYSQL에서 가장 어렵고 어찌보면 간단한 작업이라 할 수 있습니다. 대부분이 이부분에 걸려서 접속이 안된다니 어렵다니 하는 이야기가 나오는것 같아요.

 

 

create userid '만들아이디 '@'사용할곳' identified by '암호'

 

ex) create userid 'test'@'localhost' identified by 'test1234';

     create userid 'test'@'192.168.100.1' identified by 'test1234';

 

 

 

MYSQL 사용자 권한주기

 

 

드디어 가장 어려운 부분이며, 많이 빼먹어서 안된다는 이유가 여기에서 가장 많이 나옵니다. 특히, 접속할 호스트에 따라서 권한을 따로 줄 수가 있기 때문에 패스워드가 가장 안맞을 가능성이 많이 생깁니다.

 

권한변경 방법은 다음과 같습니다.

 

grant all privileges on 디비테이블.* to '사용자'@'사용할곳' identified by '암호'

 

ex)  grant all privileges on db.* to 'test'@'localhost' identified by 'test1234';

 

 

이해 되셨나요? 이것만 하시면 localhost 뿐만 아니라 전체권한 까지 줄수가 있습니다. 전체일 경우에는 '%' 로 쓰시면 됩니다.

 

마지막으로 명령어가 하나 남았는데, 권한을 적용시켜주는 명령어입니다.

 

flush priviliges ;

 

이렇게 하면 권한 처리 철차가 끝나며 권한을 삭제하실려면, mysql.user 의 테이블 값을 지우거나, 권한 회수를 하시면 됩니다.

 

revoke all on 디비테이블.* from 사용자명@호스트  

 

참고하셔서 유용하게 사용하시기 바랍니다.