본문 바로가기
Database

[MYSQL] 계정 및 권한 생성 방법!!

by GoodDayDeveloper 2021. 12. 20.
반응형

 

오늘은 SQL 계정 및 권한 생성하는 방법에 대해 확인해보겠습니다.

프로젝트에 들어가기 전에 개발환경에서 가장 기초적인 부분이죠! 정리해보겠습니다.

 

우선 mysql 접속에 접속합니다.

 

 

계정정보를 생성하기 위해 MYSQL로 접속을 합니다.

 

명령어 use '데이터베이스이름'
예) use mysql

 

 

show tables로 테이블을 조회한 하면, 계정을 관리하는 테이블인 user를 확인할 수 있습니다.

 

 

 

계정을 만들어줍니다. 계정 명령어입니다.

 

명령어 create user '계정아이디'@localhost identified by '비밀번호';
예)create user 'ikpca'@localhost identified by 'hello';

 

그럼 이상이 없을 경우 ok 문구가 뜨게 됩니다.

 

참고로

localhost로 하면 내부ip만 접속할 수 있고 localhost자리에 '%'로 표시하면 외부ip에서도 접속이 가능합니다!

 

내부ip접속 : create user '계정아이디'@localhost identified by '비밀번호';

외부ip접속 : create user '계정아이디'@'%' identified by '비밀번호';

 

#계정삭제 명령어 : delete from user where user='계정아이디;


 

 

계정이 이상없이 생성되었는지 계정을 조회합니다.

명령어 select host, user, password from user;

이상없이 생성된 것을 알 수 있습니다.

 


 

이젠 계정을 생성하였으니 데이터베이스를 만들고,

만든 데이터베이스에 생성한 계정에 접근할 수 있도록 권한을 설정해보겠습니다.

(참고로 권한은 부여하는 명령어는 grant, 권한을 지우는 명령어는 revoke입니다.)

 

 

우선 데이터 베이스를 생성합니다.

명령어 create schema 데이터베이스이름;
예)create schema ikpca;

 

 

그리고 데이터베이스를 접속합니다.

 

 

그 다음, grant 명령어를 사용하여 권한을 부여합니다.

 

명령어 grant all privileges on '데이터베이스이름'.'테이블이름' to '계정이름'@'호스트' identified by '계정비밀번호' with grant option;
예)예)grant all privileges on ikpca.* to ikpca@'localhost' identified by 'ikpca' with grant option;

 

의미는 ikpca의 계정이 ikpca란 데이터베이스의 모든 테이블에서 select, inset, update, delete할 수 있도록 설정하는 명령어입니다.

 

flush privileges; 를 입력하여 권한 적용을 합니다.

 

 

 

 

그다음 권한이 제대로 부여되었는지 확인합니다.

 

명령어 show grants for '계정명'@'호스트';
예) show grants for ikpca@'localhost';

 


 

계정 삭제하는 명령어는 아래에 있습니다!

 

명령어 revoke all on '데이터베이스이름'.'테이블이름' from '계정이름'@'호스트';
예)revoke all on ikpca.* from ikpca@'localhost';

 

반응형

댓글