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
,