mysql 사용자 권한 확인
자주쓰진 않지만 쓸려고만 하면 생각이 나지 않아서.
mysql 사용자 권한 확인
* 계정 기본 권한 확인
Mysql> mysql -E -u [mysql 디비에 접근할 수 있는 계정] -p
Mysql> use mysql ;
Mysql> select * from user where user = [사용자ID] ;
* 설정된 권한 확인
mysql> SHOW GRANTS FOR [사용자계정@호스트];
* 현재 접속된 사용자의 권한 확인
mysql> SHOW GRANTS FOR CURRENT_USER;
mysql 사용자 권한 추가
* 사용자 생성과 권한을 같이 설정
Mysql> GRANT all privileges ON test.* to 'test2'@'localhost' identified by '비밀번호' ;
> local접속만 허용하는 test2 사용자를 생성하고 접근시 test 데이터베이스에 대한 모든 권한을 추가
* 기존 사용자 권한 추가
Mysql> GRANT select,insert,update,delete,create,drop,index,alter ON test.* to 'test2'@'localhost' ;
> local접속만 허용하는 test2 사용자에게 test 데이터베이스에 대한 select,insert,update,delete,create,drop,index,alter 권한을 추가
- 권한 리스트 -
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 가능
mysql 사용자 권한 취소
mysql> REVOKE ALL PRIVILEGES ON test.* FROM test2@localhost;
> local접속만 허용하는 test2 사용자의 test 데이터베이스에 대한 모든 권한 삭제