민서네집

MySQL DB/User 생성 및 권한 추가 본문

Database/MySQL

MySQL DB/User 생성 및 권한 추가

브라이언7 2014. 10. 22. 18:02

-- {USER} 사용자 추가 (로컬에서 접속 시 사용)

CREATE USER '{USER}'@'localhost' IDENTIFIED BY '{PASSWORD}';


-- {USER} 사용자 추가 (외부에서 접속 시 사용)

CREATE USER '{USER}'@'%' IDENTIFIED BY '{PASSWORD}';

-- ----------------------------------

-- DATABASE 생성

-- ----------------------------------

CREATE SCHEMA `{scheme_name}` DEFAULT CHARACTER SET utf8 ;


-- ----------------------------------

-- DATABASE 삭제

-- ----------------------------------


DROP DATABASE {scheme_name};


-- ----------------------------------

-- DATABASE 사용권한

-- ----------------------------------


-- localhost 에서 접속 시 권한 부여

GRANT ALL PRIVILEGES ON `{scheme_name}`.* TO '{USER}'@'localhost' WITH GRANT OPTION; 


-- 외부에서 접속 시 권한 부여

GRANT ALL PRIVILEGES ON `{scheme_name}`.* TO '{USER}'@'%' WITH GRANT OPTION;  


flush privileges;


-- ----------------------------------

-- 사용자 삭제

-- ----------------------------------


DROP USER {USER}@'localhost';


-- ----------------------------------

-- DATABASE 사용

-- ----------------------------------


USE {scheme_name}


-- ----------------------------------

-- 테이블 목록 조회

-- ----------------------------------


show tables;


-- ----------------------------------

-- Warning 조회

-- ----------------------------------


SHOW WARNINGS;


-- ----------------------------------

-- MySQL Version 조회

-- ----------------------------------


select version();



MySQL 5.5.x DB/User 생성 및 권한 추가


http://dukeom.wordpress.com/2011/06/03/mysql-5-5-x-dbuser-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EA%B6%8C%ED%95%9C-%EC%B6%94%EA%B0%80/


[전문발췌]


MySQL 5.5.x version의 설치가 완료되면 본격적인 사용을 위해 아래와 같은 작업이 필요합니다.

1. root 패스워드 설정
2. database 생성
3. user 생성및 권한 추가 

1. root 패스워드 설정
root 패스워드 설정은 아래와 같은 방법으로 하시면 됩니다.
$mysqladmin -u root -p password new-password
 Enter password:
new-password는 추가 또는 변경할 패스워드를 입력하시고,
Enter password에는 기존의 패스워드를 입력하시면 됩니다.

다음과 같은 방법으로도 설정이 가능합니다.
$mysql -u root mysql
mysql>update user set password=password(‘new-password’) where user=’root';

2. database 생성
mysql에 root로 접속하신 후 다음 명령을 실행하시면 됩니다합니다.
mysql >CREATE SCHEMA `new_schema` DEFAULT CHARACTER SET utf8 ;
* default character set을 지정하지 않으면 한글이 깨져서 나오므로 주의하셔야 합니다. 

3. user 생성 및 권한 추가
mysql에 root로 접속하신 후 다음 명령을 실행하시면 됩니다합니다.
mysql>create user ‘user명’@’%’ identified by ‘패스워드';
mysql>grant all privileges on *.* to ‘user명’@’%';
mysql>flush privileges;

*쿼리로 사용자 생성하실 경우에는 아래 쿼리를 사용하시면 됩니다.(mysql 5.5.x 기준)

mysql>INSERT INTO user VALUES(‘localhost’, ‘user명’, PASSWORD(‘패스워드’),’Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”, 0, 0, 0, 0, ”, ”);

mysql> INSERT INTO user VALUES(‘%’, ‘user명’, PASSWORD(‘패스워드’),’Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”, 0, 0, 0, 0, ”, ”);

사용자에게 db 사용 권한을 주기 위해서는 ‘db’ table에도 insert를 해주어야 합니다.
mysql>INSERT INTO db VALUES(‘%’,’%’,’user명’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’,’N’);
mysql>INSERT INTO db VALUES(‘localhost’,’%’,’user명’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’,’N’); 

* ‘%’ : 전체 접속 허용
* ‘localhost’ : 해당서버에서만 접속 허용

Comments