데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어들을 말함.
CREATE USER [유저이름]@[접근가능IP] IDENTIFIED BY [비밀번호]
web_user는 모든 Ip에서 접근 가능하고, 비밀번호는 pass이다.
ex) create user 'web_user'@'%' identified by 'password';
dba_user는 모든 192.168로 시작하는 IP에서 접근 가능하고, 비밀번호는 pass이다.
ex) create user 'dba_user'@'192.168.%' identified by 'pass';
user002는 192.168.12.32 Ip에서 접근 가능하고 비밀번호는 pass이다.
ex) create user 'user002'@'192.168.12.32' identified by 'pass';
생성된 유저 확인
ex) select * from mysql.user;
GRANT [권한1,권한2,...] ON [데이터베이스.테이블] TO [사용자]
web_user에게 모든 데이터베이스, 테이블에서 사용가능한 ALL 권한을 부여한다.
- all privileges : grant option 을 제외한 모든 권한
- grant option : 권한 부여 (내가 가진 것 이상으로 권한을 부여할 수는 없다. )
- ex) grant all privileges on . to 'web_user'@'%';
dba_user에게 mysql 데이터 베이스의 모든 테이블에서 사용가능한 select 명령어 권한을 부여한다.
- 특정 명령어들(select, update, insert, create, drop 등)
- ex) grant select on mysql.* to 'dba_user'@'192.168.%';
user002는 모든 데이터베이스, 모든 테이블에서 select,update,insert,delete 권한을 갖는다.
- ex) grant select,insert,update,delete on . to 'user002'@'192.168.12.32';
권한 확인
ex) select * from mysql.user;
REVOKE [권한] ON [데이터베이스.테이블] FROM [유저]
set password for [사용자] = PASSWORD([비밀번호])
drop user [유저]
- ex) drop user 'dba_user'@'192.168.%';
- drop user 'user002'@'192.168.12.32';