mysql 등 각종 DBMS 에서는 사용자 계정을 만들고 그 계정에 권한을 부여 하여 사용해야 한다.
물론 게으린 DBA는 root 계정이나 시스템 계정을 사용하기도 하나 이것은 절대로 권장하지 않는다. (한때 MS-SQL 에서 SA 계정에 암호를 넣지 않아 많은 문제가 있었다. )
MS-SQL 등 상용 DBMS의 책들을 보면 사용자 계정생성과 권한부여 및 취소에 무척 많은 내용을 할당하고 있는 걸 보면 중요한 내용임에 틀림없다.
아래 내용을 통해 사용자 계정과 그 권한 부여 및 취소에 대해 알아 본다.
■ 사용자 생성 및 권한 부여
사용자 생성은 UPDATE 문으로도 할 수 있다. 그러나 GRANT 문을 사용하면 더 편리하다.
▷ test 데이타베이스에 sysop 란 사용자에 모든 권한을 부여한다.
- 권한 부여 하기
- 권한 부여 확인 하기
use mysql ;
select * from user where user = 'sysop' ;
※ mysql -E 로 접속하는 이유는 쿼리결과를 세로로 보기 위해서 임.
SHOW GRANTS FOR '사용자계정'@'%' ;
※ SHOW GRANTS FOR 를 이용해 사용자계정에 대한 권한을 볼 수 있다.
▷ test 데이타베이스에 admin 이라는 계정을 만들고 select, insert,update, delete, create, drop 권한 부여
※ GRANT 권한
GRANT 권한 |
설명 |
ALL |
모든 권한 부여 |
ALTER |
ALTER TABLE 사용 허락 |
CREATE |
CREATE TABLE 허락 |
CREATE TEMPORARY TABLES |
CREATE TEMPORARY TABLES 허락 |
SELECT, DELETE, UPDATE, DROP |
조회,수정,삭제 권한 허락 |
EXCUTE |
|
FILE |
SELECT.. INTO OUTFILE LOAD DATA INFILE 사용 허락 |
INDEX |
CREATE INDEX , DROP INDEX 허락 |
LOCK TABLES |
SELECT 권한있을 때 LOCK TABLES 허락 |
PROCESS | SHOW FULL PROCESSLIST 허락 |
SHUTDOWN | SHUTDOWN 허락 |
SHOW DATABASES | SHOW DATABASES 허락 |
RELOAD |
FLUSH 허락 |
■ 사용자 권한 취소
REVOKE 는 부여된 권한을 취소한다.
▷ test 데이타베이스의 sysop 계정에 대해 부여된 모든 권한을 취소한다.
■ 권한 변경 적용하기
권한을 부여 한 후 FLUSH PRIVILEGES ; 명령어를 어떨 때 사용해야 하는지 헛갈리곤 한다.
▷ INSERT, UPDATE 를 이용해서 권한을 부여한 경우
→ FLUSH PRIVILEGES ; 사용해야 권한 적용 됨.
▷ GRANT, REVOKE, SET PASSWORD 사용한 경우
→ 즉시 권한 부여 됨.
'MySQL' 카테고리의 다른 글
MySQL 논리함수 (0) | 2014.02.01 |
---|---|
MySQL SHOW 문을 이용해 각종 정보 보기 (1) | 2014.01.31 |
MySQL 슈퍼유저(root) 패스워드 변경 방법 (0) | 2014.01.31 |
mysql 쿼리 결과 수직으로 보기 (2) | 2014.01.30 |
MySQL 날짜 시간의 형식화 (0) | 2014.01.25 |