'추가'에 해당되는 글 2건

  1. 2009.03.05 mysql에서 데이터베이스 추가 및 권한 설정 1
  2. 2009.02.26 Mysql 사용자 계정 추가하기 1


Mysql 사용자 계정 생성

 

Mysql 처음 사용하는 초보자분들이 혼동하시는 부분이 사용자 계정 생성부분입니다.

 

우선 Mysql 설치하시게 되면 root 계정은 리눅스 계정과 같습니다.

 

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;

 

작성해주시면 끝... mis13으로 접속을 하시면 Mis13이란 DB만 보이실겁니다.

 

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

 

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

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

mysql> flush privileges;

 

슈퍼유저로 (즉 root 권한으로) 권한을 주는것은

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

mysql > flush privileges;

 

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

이 방법이 편하실겁니다.

 

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

 

예) 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 - 함부로 권한을 주진 맙시다.

 

 

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

[MySQL] 테이블 컬럼의 Collation 변경 및 종류  (0) 2009.05.04
[mysql] date, time과 unix_timestamp  (0) 2009.03.10
Mysql 사용자 계정 추가하기  (1) 2009.02.26
MySQL 삭제하기  (0) 2009.02.26
Mysql 백업 & 복원  (0) 2009.02.26
Posted by Finebe
,



[root@ubuntu ~]# mysql -u root -p

mysql> use mysql;

// 로컬호스트 사용자 등록 [ 컬럼 개수(desc user)만큼 'N' ]
mysql> insert into user values('localhost,'userid',password('userpasswd'),'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0);

// 원격접속 사용자 등록 [ 컬럼 개수(desc user)만큼 'N' ]
mysql> insert into user values('해당IP,'userid',password('userpasswd'),'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0);

// 사용자 등록 시 'Y' 이면 모든 db에 모든 권한을 다 주는 것임

mysql> insert into db values('localhost', 'dbname', 'userid','Y','Y','Y','Y','Y',...);

mysql> create database dbname;

mysql> flush privileges;

[root@ubuntu ~]# /etc/init.d/mysql restart

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

[mysql] date, time과 unix_timestamp  (0) 2009.03.10
mysql에서 데이터베이스 추가 및 권한 설정  (1) 2009.03.05
MySQL 삭제하기  (0) 2009.02.26
Mysql 백업 & 복원  (0) 2009.02.26
MySQL 외부 접근이 되지 않을 경우  (1) 2009.02.25
Posted by Finebe
,