Mysql 사용자 권한 부여
2015. 12. 6. 10:12ㆍDB&NoSQL/MySQL
dbuser 라는 사용자를 TEST와 Live DB 에 생성하고, root 권한 이하의 사용만 가능하도록 함
제한 계정 : dbuser / 1234
처음에는 테스트 DB에도 root 권한의 dbuser를 생성하려고 했으나,
컬럼 추가/삭제 등의 작업이 임의로 이뤄지게 될 경우, Live 서버와의 싱크 문제로 인해 동일하게 부여
dbuser는
select,insert,update,delete의 DML(Data Manipulation Language, 데이터 검색과 수정)권한만 부여 했습니다.
drop,create,alter등의 DDL(Data Definition Language, 데이터 구조 정의) 과
CREATE,REVOKE 등의 DCL(Data Control Language, 권한제어) 권한은 없습니다.
1. 사용자 추가/삭제
//내부/외부 접근 권한을 부여 한다. (% & location)
use mysql;
create user dbuser@'%' identified by '@qlalfqjsgh!';
create user dbuser@localhost identified by '@qlalfqjsgh!';
drop user dbuser@'%';
drop user dbuser@localhost;
2. 현재 사용자 리스트 확인
use mysql;
select host,user,password from user;
3. 데이터베이스 접근 권한을 부여한다.
GRANT 혹은 REVOKE 명령으로 사용자 권한을 추가 제거 하는데 사용하도록 한다.
// 아래와 같이 하면, 모든 권한을 주는 것이다.(테스트 서버에는 이렇게 드렸습니다.)
GRANT ALL privileges ON *.* to dbuser@'%';
GRANT ALL privileges ON *.* to dbuser@localhost;
flush privileges;
// 아래와 같이 하면, 모든 권한을 삭제하는 것이다.
REVOKE ALL ON *.* from dbuser@'%';
REVOKE ALL ON *.* from dbuser@localhost;
// 그래서 기본적으로 select, insert, update,delete 권한을 부여한다. (LIVE DB에는 여기까지만)
GRANT select,insert,update,delete ON s3.* to dbuser@'%';
GRANT select,insert,update,delete ON image_pool.* to dbuser@'%';
GRANT select,insert,update,delete ON newaddr.* to dbuser@'%';
GRANT select,insert,update,delete ON ums.* to dbuser@'%';
GRANT select,insert,update,delete ON s3.* to dbuser@localhost;
GRANT select,insert,update,delete ON image_pool.* to dbuser@localhost;
GRANT select,insert,update,delete ON newaddr.* to dbuser@localhost;
GRANT select,insert,update,delete ON ums.* to dbuser@localhost;
//마지막으로 항상, 변경된 내용을 메모리에 반영 한다.
flush privileges;
4. 사용자에게 부여된 권한 확인
SHOW GRANTS FOR dbuser@'%';
SHOW GRANTS FOR dbuser@localhost;
SHOW GRANTS FOR dbuser@192.168.1.1;
5. ROOT 계정 패스워드 변경
use mysql;
update user set password=password('[변경할비밀번호]') where user='root';
flush privileges;
6. 최종 확인
mysql -udbuser -p
password입력
show databases;
확인 가능
이렇게는 정리 해서 사내 배포 완료....
'DB&NoSQL > MySQL' 카테고리의 다른 글
MYSQL 백업 과 복구 (0) | 2015.12.06 |
---|---|
MySQL를 다시 시작해봅시다. (0) | 2011.03.10 |
프로시져를 만들어서 편하게 사용하시죠~~ (1) | 2008.06.23 |