메뉴 건너뛰기


Developer > DBMS

MySQL MySQL 새로운 계정 만들기

2013.11.30 09:55

푸우 조회 수:10228


MySQL에 새로운 계정을 만들기 위해서는 다음과 같이 한다.


우선 mysql 클라이언트에 Root로 접속합니다.

그리고 mysql DB를 선택합니다.


[#]/usr/local/mysql/bin
[#]./mysql -u root -p
use mysql;


사용자 계정을 생성합니다.


insert into user(host,user,password) values('localhost','사용자명',password('패스워드'));

자용자 생성시 host는 해당 사용자로 접속할 IP를 의미합니다. 위의 예는 localhost에서만 접속할 수 있는 사용자 계정을 만드는 것입니다.


이번엔 새로 생성한 사용자가 사용할 데이터베이스를 생성해 보겠습니다.

create database 디비명;


생성한 데이터베이스에 사용자 계정을 연결하여 보겠습니다.

insert into db (
    host,db,user,select_priv,insert_priv,update_priv,delete_priv,
    create_priv,alter_priv,drop_priv, index_priv, create_view_priv, show_view_priv
) 
values('localhost','디비명','사용자명','y','y','y','y','y','y','y','y','y','y');


여기까지 하고 생성한 권한 정책을 적용하면 됩니다.

flush privileges;


여기까지만 하면 사용자가 생성되고 해당 사용자가 사용할 수 있는 DB와도 연결되었습니다.


만약 해당 사용자에게 추가적으로 모든 권한 주고 싶다면 다음과 같이 합니다.


GRANT ALL ON *.* TO '계정'@'위치' identified by '비밀번호';
flush privileges;

참고로 권한을 줄 수 있는 것들은 다음과 같습니다.


Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, 
Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, 
Lock_tables_priv,  Create_view_priv, Show_view_priv, Create_routine_priv, 
Alter_routine_priv, Execute_priv, Event_priv, Trigger_priv



특정 DB의 모든 테이블(DB명.테이블명)에 select, insert, update, delete, create, drop, alter 권한 만을 주고 싶다면 

grant select, insert, update, delete, create, drop, alter on DB명.*  to '계정'@'위치';


특정 DB의 모든 테이블(DB명.테이블명)에 권한을 주고 싶다면 

grant all privileges on DB명.* to '계정'@'위치' identified by '비밀번호';


특정 사용자에게 데이터 베이스 사용권한 제거

revoke all on DB명.테이블명 from '계정'@'위치';



참고: http://link2me.tistory.com/431