[DB, SQL] 사용자 권한 다루기

JUNHO YEOM·2022년 11월 9일
0

DB, SQL

목록 보기
13/21
post-thumbnail

사용자 권한 다루기

사용자 권한 조회

USE mysql;
SELECT * FROM user;

현재 MYSQL에 있는 사용자들을 조회 가능


새로운 사용자 생성하기

# CREATE USER '사용자명'@'접속위치' IDENTIFIED BY '비밀번호';

CREATE USER 'user_1'@'%' IDENTIFIED BY 'abcdefg';
# '%'(와일드카드)를 사용하면 어떤 위치에서든 MySQL에 접근 가능하도록 설정
CREATE USER 'user_1'@'localhost' IDENTIFIED BY 'abcdefg';
CREATE USER 'user_1'@'12.345.678.90' IDENTIFIED BY 'abcdefg';

다음과 같이 IP주소 혹은 localhost를 통하여
어떤 컴퓨터에서 접근 가능하게 할 것인지 설정 가능


권한 다루기

최초 생성된 사용자에는 권한이 없는 상태로 권한을 부여할 수 있다.

조회 권한 부여

-- 사용자에 권한 추가
GRANT SELECT ON mydatabase.businesses
TO 'user_1'@'%';
 # GRANT로 권한 부여하기
 # mydatabase DB의 businesses 테이블에 조회 권한 부여

수정, 삭제 권한 부여하기

GRANT UPDATE, DELETE ON mydatabase.businesses
TO 'user_1'@'%';
# UPDATE, DELETE 권한을 부여하였다.

사용자 권한 조회하기

해당 사용자에게 주어진 조회, 수정, 삭제 권한을 조회한다.

-- 사용자 권한 조회
SHOW GRANTS FOR 'user_1'@'%';

사용자 권한 삭제하기

REVOKE DELETE ON mydatabase.businesses
FROM 'user_1'@'%';
# 사용자의 테이블에 대한 DELETE 권한을 박탈한다.

모든 권한 부여하기

-- 데이터베이스의 모든 권한 부여
GRANT ALL PRIVILEGES ON mydatabase.*
TO 'user_1'@'%';
# ALL PRIVILEGES로 모든 권한을 부여하고,
# 해당하는 테이블의 범위는 *(와일드카드 문자)사용하여 전체 범위를 부여하였다.

유저 삭제하기

DROP USER 'user_1'@'%';

0개의 댓글