Mysql monitor - 권한

권한
사용자에 따라서 접근할 수 있는 데이터와 사용할 수 있는 기능을 제한
권한을 주는 사용자는 DB생성자만이 가능하다.

문법
GRANT 권한 ON 데이터베이스.테이블 TO `아이디`@`호스트` IDENTIFIED BY `비밀번호`

호스트
ip를 의미한다. 특정 ip를 사용하지 않으려면 `%`를 사용한다.

데이터베이스.테이블
*를 사용하면 모든 제어 대상으로 함.
ex)  DB_A.tableA -> 데이터베이스 DB_A의 테이블 tableA만 제어 가능
      DB_A.*        -> 데이터베이스 DB_A의 모든 테이블 제어 가능
      *.*              -> 모든 데이터베이스의 모든 테이블 제어 가능

권한
Privilege권한이 적용되는 대상(context)설명
CREATEdatabases, tables, or indexes데이터베이스, 테이블 생성
DROPdatabases, tables, or views데이터베이스,테이블 삭제
GRANT OPTIONdatabases, tables, or stored routines사용자들의 권한을 부여하거나 제거
LOCK TABLESdatabases테이블 잠그기
ALTERtables테이블의 구조를 변경
DELETEtables테이블의 행을 삭제
INDEXtables인덱스를 생성하거나 삭제
INSERTtables or columns행 추가
SELECTtables or columns행 조회
UPDATEtables or columns행 변경
CREATE TEMPORARY TABLEStables임시 테이블의 생성
CREATE VIEWviews뷰의 생성
SHOW VIEWviewsSHOW CREATE VIEW
ALTER ROUTINEstored routines프로시저, 함수의 변경 삭제
CREATE ROUTINEstored routines프로시저, 함수의 생성
EXECUTEstored routines프로시저, 함수의 실행
FILEfile access on server host
  • LOAD DATA INFILE
  • SELECT..INTO OUTFILE
  • LOAD_FILE()
CREATE USERserver administration
  • CREATE USER
  • DROP USER
  • RENAME USER
  • REVOKE ALL PRIVILEGES
PROCESSserver administration타인의 thread 실행 상태를 열람
  • SHOW PROCESSLIST
  • mysqladmin processlist
자신의 thread는 언제든지 열람가능
RELOADserver administration
  • flush-hosts
  • flush-logs
  • flush-privileges
  • flush-status
  • flush-tables
  • flush-threads
  • refresh
  • reload
REPLICATION CLIENTserver administration
  • SHOW MASTER STATUS
  • SHOW SLAVE STATUS
REPLICATION SLAVEserver administration리플리케이션에 참가하고 있는 슬레이브 서버들이 마스터 서버(권한을 부여하는 서버) 접속해서 마스터의 변경사항을 동기화
SHOW DATABASESserver administration
  • SHOW DATABASES
SHUTDOWNserver administration
  • mysqladmin shutdown
SUPERserver administration다른 클라이언트를 종료하거나, 서버의 동작 변경
  • CHANGE MASTER TO
  • KILL
  • mysqladmin kill
  • PURGE BINARY LOGS
  • SET GLOBAL
  • 기타등등
ALL [PRIVILEGES]server administration모든 권한 허용
* from 생활코딩(https://opentutorials.org/course/195/1406)

권한 살펴보기
자신의 권한이나, 특정 사용자의 권한을 열람.

SHOW GRANTS (FOR 사용자) - for를 생략하면 자신의 권한을 본다.

권한 제거하기
사용자의 권한을 제거

REVOKE 권한 ON 데이터베이스.테이블 FROM 사용자

권한 삭제하기
사용자를 삭제

DROP USER user[, uer]...





댓글