mysql 사용자 관리

DB/MySQL 2010. 12. 19. 22:58

1. Mysql 사용자계정 추가

우선 간단히 Mysql 계정 생성방법에 대해서 설명드리겠습니다.

Mysql DB서버에는 여러 Database가 존재할것이고 또 많은 User가 존재할겁니다.

 

예를 들자면

User에는  최상위 유저인  Root , 일반유저인 mis13, test   존재한다고 보고

Database에는 Mis13, Testdb, Database가 존재합니다.

 

아래 그림을 보시면 Root는 3개의 DB에 접속할 권한을 모두 가지고 있고

mis13 유저는 Mis13이란 DB만, test 유저는 TestDB, Databases 두 DB 접속할 권한이 있습니다.


자 그럼 mis13, test의 유저들의 권한을 줘보겠습니다.

우선 사용자를 생성하기 위해서 Root 권한으로 Mysql에 접속을 합니다.

 

#> Mysql  -u root -p

Enter Password : ######

 

mis13 이란 유저가 Mis13이란 DB의 권한을 가지게 해보겠습니다. (암호는 mis1313)

 

mysql> GRANT ALL PRIVILEGES ON Mis13.* to mis13@localhost IDENTIFIED BY 'mis1313' WITH GRANT OPTION;

mysql> flush privileges;    -> 권한 로드

 

2. 사용자 확인

mysql> use mysql;

mysql> select host, user, password from user;

 

3. 그 밖에 외부에서도 접속하기, 모든 DB권한 주기

어떤 DB도 접속 가능하게 권한을 주는 것은

mysql> GRANT ALL PRIVILEGES on *.*  to mis13@localhost IDENTIFIED BY 'mis1313' WITH GRANT OPTION;

mysql> flush privileges;

 

외부에서도 접속할 수 있도록 하려면

mysql> GRANT ALL PRIVILEGES on  *.*  to mis13@"%" IDENTIFIED BY 'mis1313' WITH GRANT OPTION;

mysql > flush privileges;

 

GRANT 명령어 말고 Mysql DB 안에 User, DB 테이블에 넣는 법도 있지만 초보분이 사용하시기엔

이 방법이 편하실겁니다.

 

4. 모든 권한이 아닌 부분별 골라서 주기

예) mis13 이라는 계정이 전체 데이터베이스에 대해서 select, insert, delete, update 권한만 주고 싶을 경우

mysql>GRANT select, insert, delete, update on *.* to mis13@localhost IDENTIFIED BY 'mis1313' WITH GRANT OPTION;

mysql> flush privileges;

 

예) mis13 이라는 계정이 Mis13 이라는 데이터베이스에 대해서 select, insert, update 권한만 주고 싶을 경우

mysql>GRANT select, insert, update on Mis13.* to mis13@localhost IDENTIFIED BY 'mis1313' WITH GRANT OPTION;

mysql>flush privileges;

 

PS - 함부로 권한을 주진 맙시다.

 

'DB > MySQL' 카테고리의 다른 글

MySQL에서 Create Procedure  (0) 2010.12.21
리눅스에서 my.cnf 설정  (0) 2010.12.21
MySQL Data Type 과 테이블 설계 방법  (0) 2010.12.20
MySQL 외부 접속 사용자 추가  (0) 2010.12.19
mysql 명령어  (0) 2010.12.19
Posted by linuxism
,