본문 바로가기

학교 수업/데이터베이스

데이터베이스(2) - DCL

루트 계정의 비밀번호 변경

update user set authentication_string=password('바꿀 비밀번호') where user='root’; 

사용자 정보

유저 계정 생성

CREATE USER '계정명'@'접속경로(localhost)' IDENRIFIED BY '비밀번호';

유저 계정 비밀번호 변경

SET PASSWORD FOR '계정명'@'접속경로(localhost)' = '비밀번호';

유저 계정 삭제

DROP USER '계정명'@'접속경로(localhost)';

유저 계정의 패스워드 정책 수정

ALTER USER '계정명'@'접속경로(localhost)' PASSWORD EXPIRE INTERVAL 6;

 

패스워드 보안 정책 강화하기

INSTALL plugin validate_password SONAME 'validate_password.so'

패스워드 정책 확인

SHOW VARIABLES LIKE 'validate_password%';
Variable_name Value
유저 이름에 맞는 암호 확인 OFF
암호 사전 파일 유효성 검사 -
암호 길이 확인 8
암호 대/소문자가 혼합된 수 확인 1
암호 숫자가 혼합된 수 1
암호 정책 확인 MEDIUM
암호 특수문자가 혼합된 수 1

GRANT

사용자에게 다양한 권한을 부여할 수 있는 명령어입니다.

 

▶시스템 권한을 부여

사용자가 데이터베이스에서 특정 작업을 수행할 수 있도록 합니다.

GRANT 시스템 권한 종류 TO 유저명 [WITH ADMIN OPTION]

시스템 권한 종류

CREATE SESSION 데이터베이스를 연결할 수 있는 권한
CREATE TABLE 테이블을 생성할 수 있는 권한
CREATE SEQUENCE 시퀀스를 생성할 수 있는 권한
CREATE VIEW 뷰를 생성할 수 있는 권한
CREATE PROCEDURE 프로시저를 생성할 수 있는 권한
CREATE ROLE 데이터베이스 역할을 생성할 수 있는 권한
ALTER USER 생성한 사용자의 정의를 변경할 수 있는 권한
DROP USER 생성한 사용자를 삭제시키는 권한

WITH ADMIN OPTION

권한을 부여받은 사용자도 부여받은 권한을 다른 사용자 또는 역할로 부여할 수 있게 된다.

 

객체 권한을 부여

사용자가 소유하고 있는 특정 객체를 다른 사용자들이 접근하거나 조작할 수 있도록 한다.

GRANT 객체 권한 종류 ON 스키마명.테이블명 TO '계정명'@'접속경로(localhost)'
IDENTIFIED BY PASSWORD '비밀번호'[WITH GRANT OPTION];

객체 권한 종류

종류 ALTER REFERENCES EXECUTE INDEX
ALL PRIVILEGES INSERT SELECT UPDATE DELETE

WITH GRANT OPTION

권한을 부여받은 대상도 부여받은 권한을 다른 유저에게 부여할 수 있게 된다.

-- 모든 권한을 가진 계정 생성
GRANT ALL ON *.* TO root@localhost IDENTIFIED BY "123123";

-- SELECT 권한을 가진 계정 생성
GRANT SELECT ON root.* TO root@localhost IDENTIFIED BY "123123";

생성한 권한 보기

SHOW GRANTS FOR [사용자명]@[접속경로(localhost)]

REVOKE

사용자에게 부여한 권한을 다시 회수하는 명령어입니다.

▶시스템 권한 회수

REVOKE 권한명1, 권한명2, ... FROM 계정명

 

▶객체 권한 회수

REVOKE 권한명1, 권한명2, ... ON 테이블명 FROM 계정명


flush privileges;

GRANT테이블을 RELOAD함으로써 변경사항을 즉시 반영하도록 한다.

보통은 사용자를 추가, 수정, 삭제, 등을 수행하였을 때 이 변경사항을 반영하기 위해 사용한다.


 

'학교 수업 > 데이터베이스' 카테고리의 다른 글

데이터베이스 12주차  (0) 2022.06.12
데이터베이스 11주차  (0) 2022.06.04
데이터베이스 10주차  (0) 2022.06.03
데이터베이스 9주차  (0) 2022.05.30
데이터베이스(2) 기초  (0) 2022.04.16