Maria DB 권한 관리

2022. 3. 17. 18:53DATABASE

https://stricky.tistory.com/100

 

 

 

1. USER 생성

CREATE USER '[계정명]'@'[접속 위치(host)]' IDENTIFIED BY '[비밀번호]';

HOST는 IP를 입력하여 특정 IP에서만 접속할 수 있도록 허용할 수 있고, %기호를 사용하여 모든 호스트를 허용하거나 localhost를 입력하여 내부에서만 허용할 수 있음.

 

 

 

2. USER 삭제

DROP USER '[계정명]'@'[접속 위치(host)]';

 

 

 

3. 권한부여

 

GRANT

Create accounts and set privileges or roles.

mariadb.com

↑권한 관련 공식 문서

 

 

GRANT [권한] ON [데이터베이스].[테이블] TO '[사용자]'@'[호스트]'; // 권한 지정 부여
GRANT ALL PRIVILEGES ON [데이터베이스].[테이블] TO '[사용자]'@'[호스트]'; // 모든 권한 부여

생성한 계정에는 DB서버, DB, 테이블, 컬럼 단위로 여러 가지 권한 부여 가능. [데이터베이스]와 [테이블]에는 * 기호를 활용하여 전체 DB나 전체 테이블을 범위로 설정할 수 있으며 부여할 수 있는 권한의 종류는 아래와 같음.

 

전체 서버에 적용되는 권한

권한 설명
CREATE USER 사용자를 생성하는 권한
FILE LOAD DATA INFILE문과 LOAD_FILE() 함수를 사용하는 권한
PROCESS SHOW PROCESSLIST 명령을 사용하는 권한
RELOAD FLUSH 문을 사용하는 권한
REPLICATION CLIENT SHOW MASTER STATUS와 SHOW SLAVE STATUS 명령을 사용하는 권한
REPLICATION SLAVE 복제 마스터 서버에서 이루어진 업데이트 내용을 받을 권한
SHOW DATABASES 서버에서 데이터베이스의 목록을 볼 수 있는 권한
SHUTDOWN MYSQLADMIN SHUTDOWN 명령을 사용해서 서버를 중지할 수 있는 권한
SUPER 최고 사용자가 사용하는 구문을 사용하는 권한

 

데이터베이스와 테이블 단위 권한

권한 설명 권한  설명
ALTER 인덱스와 테이블을 변경 EVENT 이벤트 변경, 생성, 삭제
ALTER ROUTINE 프로시저와 함수 변경, 삭제 EXECUTE 함수와 프로시저를 실행
CREATE 데이터베이스와 테이블 생성 INDEX 인덱스를 생성, 삭제
CREATE ROUTINE 프로시저와 함수 생성 INSERT 새로운 데이터 입력
CREATE TEMPORARY TABLES 임시테이블 생성 LOCK TABLES 테이블 잠금, 해제
CRATE VIEW 뷰 생성 SELECT 데이터 읽기
DELETE 행 삭제 SHOW VIEW VIEW를 사용
DROP 데이터베이스와 테이블 삭제 TRIGGER TRIGGER 생성, 삭제
UPDATE 행 수정    

 

기타 부가적인 권한과 제한

권한 설명
USAGE 사용자에 대한 전역적인 설정을 변경
ALL PRIVILEGES 사용가능한 모든 권한을 부여. ALL로 줄여서 사용 가능
GRANT OPTION 다른 사용자에게 권한을 부여하는 권한
MAX_QUERIES_PER_HOUR 사용자별로 시간당 호출할 수 있는 SQL 구문이나 쿼리의 수 설정.
MAX_UPDATES_PER_HOUR 시간당 호출할 수 있는 데이터를 변경하는 쿼리의 수 설정. 조회성 쿼리 제외
MAX_CONNECTIONS_PER_HOUR 사용자가 시간당 접속을 시작할 수 있는 수
MAX_USER_CONNECTIONS 데이터베이스 서버에 동시에 맺을 수 있는 연결 수

 

 

4. 권한삭제

revoke [권한] on DB이름.테이블 FROM '[사용자]'@'[호스트]'; //지정 권한 회수
revoke all on DB이름.테이블 FROM '[사용자]'@'[호스트]'; // 전체 권한 회수

 

 

5. 권한확인

SHOW GRANTS FOR '[사용자]'@'[호스트]';

 

 

 

 

 

[mariadb] DB 계정 별 권한 확인, 적용, 부여, 회수 계정 생성

mariadb, mysql 에서 사용 할 수 있는 DB 계정별 권한 확인, 적용, 부여 안내드리도록 하겠습니다. 우선, 계정 목록을 보는 방법 select host, user from user; 계정 생성 방법 create user 'user'@'127.0.0.1' id..

stricky.tistory.com

 

MariaDB 계정 생성과 권한 부여 및 회수 하기(grant, revoke)

MariaDB에서 계정을 생성하고 권한 부여하는 방법입니다. 계정 생성 방법 계정 생성 : create user '계정명'@'접속 위치(host)' identified by '비밀번호'; 접속 위치 관련 설명, 특정 IP 지정, 모든 IP 허용('%').

mentha2.tistory.com

 

[MariaDB 사용자 권한 설정] 권한 설정 종류 정리

MariaDB의 root계정은 데이터베이스 서버에 대한 모든 권한을 가지고, 데이터베이스가 지원하는 모든 행위를 할 수 있다. 이 행위에는 데이터베이스, 테이블의 삭제, 다른 사용자 계정의 패스워드

mentha2.tistory.com

 

[MySql] Mariadb, MYsql 사용자 권한주기 및 확인

 # MariaDB에 사용자 권한주기 1) MariaDB 접속 # mysql -u root -p Enter password: 패스워드 입력 2) Database 리스트 확인 $ show databases; 2-1) 없다면 생성 $ create database DB명; 3) 기본으로 생성되..

postitforhooney.tistory.com