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 |