커뮤니티

고용노동부, 산업인력공단과 함께하는 강원도 유일한 기업중심 IT전문교육기관 ICT융합캠퍼스만의 특별한교육입니다.
공인 IT숙련기술인의 다양한 접근방법으로 전문가다운 실무교육을 받을 수 있습니다.

Category

교육강좌

서버 MySQL - 사용자 관리

페이지 정보

작성자 관리자 댓글 0건 조회 6,704회 작성일 20-07-21 14:20

본문

사용자 관리

권한이란?

사용자에 따라서 접근할 수 있는 데이터와 사용할 수 있는 기능을 제한

GRANT

사용자를 생성하고, 권한을 부여함

문법

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

사용자의 제한

데이터베이스 서버에 접속하는 사용자를 제한한다.

아이디@호스트 중에서 호스트는 접속자가 사용하는 머신의 IP를 의미한다. IP를 특정하지 않으려면 '%'를 사용

  • egoing@123.100.100.100 : IP 123.100.100.100인 머신에서 접속한 ID egoing
  • egoing@% : IP 관계없이 ID가 egoing인 사용자

대상의 제한

사용자가 제어할 대상이 되는 데이터베이스, 테이블을 지정

*를 사용하면 모든 데이터베이스, 테이블을 제어 대상으로 함

권한(기능)의 제한

사용할 수 있는 권한을 제한 (권한은 아래 표 참조)

권한 템플릿

개발자 DELETE, INSERT, SELECT, UPDATE
설계자 ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE, DELETE, INSERT, SELECT, UPDATE
DBA ALL

예제

ID가 dev, 비밀번호가 1234인 사용자가 class 데이터베이스만 접근하게 하려면 아래와 같이 한다.

1
GRANT DELETE,INSERT,SELECT,UPDATE ON class.* TO `dev`@`%` IDENTIFIED BY '1234';

ID가 archi, 비밀번호가 1234이고 클라이언트의 IP가 100.100.100.100인 사용자가 모든 데이터베이스에 접근하면서 설계자의 권한 템플릿을 이용할 때

1
GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE, DELETE, INSERT, SELECT, UPDATE ON *.* TO `archi`@`100.100.100.100` IDENTIFIED BY '1234';

SHOW GRANTS

자신의 권한이나, 특정 사용자의 권한을 열람

문법

1
SHOW GRANTS [FOR 사용자]

예제

1
SHOW GRANTS FOR dev;

REVOKE

사용자의 권한을 제거

문법

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

예제

사용자 dev의 데이터베이스 class의 DELETE 권한을 제거

1
revoke DELETE on class.* from dev;

DROP USER

사용자를 삭제

문법

1
DROP USER user [, user] ...

예제

1
DROP USER `dev`@`%`;

권한 테이블

Privilege 권한이 적용되는 대상(context) 설명
CREATE databases, tables, or indexes 데이터베이스, 테이블 생성
DROP databases, tables, or views 데이터베이스,테이블 삭제
GRANT OPTION databases, tables, or stored routines 사용자들의 권한을 부여하거나 제거
LOCK TABLES databases 테이블 잠그기
ALTER tables 테이블의 구조를 변경
DELETE tables 테이블의 행을 삭제
INDEX tables 인덱스를 생성하거나 삭제
INSERT tables or columns 행 추가
SELECT tables or columns 행 조회
UPDATE tables or columns 행 변경
CREATE TEMPORARY TABLES tables 임시 테이블의 생성
CREATE VIEW views 뷰의 생성
SHOW VIEW views SHOW CREATE VIEW
ALTER ROUTINE stored routines 프로시저, 함수의 변경 삭제
CREATE ROUTINE stored routines 프로시저, 함수의 생성
EXECUTE stored routines 프로시저, 함수의 실행
FILE file access on server host
  • LOAD DATA INFILE
  • SELECT..INTO OUTFILE
  • LOAD_FILE()
CREATE USER server administration
  • CREATE USER
  • DROP USER
  • RENAME USER
  • REVOKE ALL PRIVILEGES
PROCESS server administration 타인의 thread 실행 상태를 열람
  • SHOW PROCESSLIST
  • mysqladmin processlist

자신의 thread는 언제든지 열람가능

RELOAD server administration
  • flush-hosts
  • flush-logs
  • flush-privileges
  • flush-status
  • flush-tables
  • flush-threads
  • refresh
  • reload
REPLICATION CLIENT server administration
  • SHOW MASTER STATUS
  • SHOW SLAVE STATUS
REPLICATION SLAVE server administration 리플리케이션에 참가하고 있는 슬레이브 서버들이 마스터 서버(권한을 부여하는 서버) 접속해서 마스터의 변경사항을 동기화
SHOW DATABASES server administration
  • SHOW DATABASES
SHUTDOWN server administration
  • mysqladmin shutdown
SUPER server administration 다른 클라이언트를 종료하거나, 서버의 동작 변경
  • CHANGE MASTER TO
  • KILL
  • mysqladmin kill
  • PURGE BINARY LOGS
  • SET GLOBAL
  • 기타등등
ALL [PRIVILEGES] server administration 모든 권한 허용

 

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

답변목록

등록된 답변이 없습니다.