mysql 사용자 권한 확인

  • systemddc
  • Mysql
  • 17935
  • 0

자주쓰진 않지만 쓸려고만 하면 생각이 나지 않아서.


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 데이터베이스에 대한 모든 권한 삭제