루트 계정의 비밀번호 변경
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 |