2. MYSQL 사용자 계정 추가 (비밀번호관리/잠금)
기본 예
1
2
3
4
5
6
7
8
9
|
CREATE USER 'user'@'%'
IDENTIFIED WITH 'mysql_native_password' BY 'password'
REQUIRE NONE
PASSWORD EXPIRE INTERVAL 30 DAY
ACCOUNT UNLOCK
PASSWORD HISTORY DEFAULT
PASSWORD REUSE INTERVAL DEFUALT
PASSWORD REQUIRE CURRENT DEFUALT;
|
cs |
3. PASSWORD EXPIRE
비밀번호의 유효 기간을 서정하는 옵션이며, 별도로 명시하지 않으면 default_password_lifetime 시스템 변수에 저장된 기간으로 유효 기간이 설정된다. 개발자나 데이터베이스 관리자의 비밀번호는 유효 기간을 서정하는 것이 보안상 안전하지만 응용 프로그램 접속용 계정에 유효 기간을 설정하는 것은 위험할 수 있으니 주의하자. PASSWORD EXPIRE 절에 설정 가능한 옵션은 다음과 같다.
- PASSWORD EXPIRE : 계정 생성과 동시에 비밀번호의 만료 처리
- PASSWORD EXPIRE NAVER : 계정 비밀번호의 만료 기간 없음
- PASSWORD EXPIRE DEFAULT : default_password_lifetime 시스템 변수에 저장된 기간으로 비밀번호의 유효 기간을 설정
- PASSWORD EXPIRE INTERVAL n DAY : 비밀번호의 유효 기간을 오늘 부터 n일자로 설정
4. PASSWORD HISTORY
한 번 사용했던 비밀번호를 재사용하지 못하게 설정하는 옵션인데, PASSWORD HISTORY 정에 설정 가능한 옵션은 다음과 같다.
- PASSWORD HISTORY DEFAULT : password_history 시스템 변수에 저장된 개수만큼 비밀번호의 이력을 저장하며, 저장된 이력에 남아 있는 비밀번호는 재사용할 수 없다.
- PASSWORD HISTORY n : 비밀번호의 이력을 최근 n개까지만 저장하며, 저장된 이력에 남아 있는 비밀번호는 재사용할 수 없다.
한 번 사용했던 비밀번호를 사용하지 못하게 하려면 이전에 사용했던 비밀번호를 MySQL 서버가 기억하고 있어야 하는데, 이를 위해 MySQL 서버는 mysql 유dml password_history 테이블을 사용한다.
5. PASSWORD REUSE INTERVAL
한 번 사용했던 비밀번호의 재사용 금지 기간을 설정하는 옵션이며, 별도로 명시하지 않으면 password_resue_interval 시스템 변수에 저장된 기간으로 설정된다. PASSWORD REUSE INTERVAL 절에 설정 가능한 옵션은 다음과 같다.
- PASSWORD REUSE INTERVAL DEFAULT : password_reuse_interval 변수에 저장된 기간으로 설정
- PASSWORD REUSE INTERVAL n DAY : n일자 이후에 비밀번호를 재사용할 수 있게 설정
6. PASSWORD REQUIRE
비밀번호가 만료되어 새로운 비밀번호로 변경할 때 현재 비밀번호(변경하기 전 만료된 비밀번호)를 필요로 할지 말지를 결정하는 옵션이며, 별도로 명시되지 않으면 password_require_current 시스템 변수의 값으로 설정된다. PASSWORD REQUIRE 절에 사용 가능한 옵션은 다음과 같다.
- PASSWORD REQUIRE CURRENT : 비밀번호를 변경할 때 현재 비밀번호를 먼저 입력하도록 설정
- PASSWORD REQUIRE OPTIONAL : 비밀번호를 변경할 때 현재 비밀번호를 입력하지 않아도 되도록 설정
- PASSWORD REQUIRE DEFAULT : password_require_current 시스템 변수의 값으로 설정
7. ACCOUNT LOCK / UNLOCK
계정 생성 시 또는 ALTER USER 명령을 사용해 계정 정보를 변경할 때 계정을 사용하지 못하게 잠글지 여부를 결정한다.
- ACCOUNT LOCK : 계정을 사용하지 못하게 잠금
- ACCOUNT UNLOCK : 잠긴 계정을 다시 사용 가능 상태로 잠금 해제
'DataBase' 카테고리의 다른 글
Redis를 이용한 트랜잭션 처리와 분산 락 구현 (0) | 2024.07.16 |
---|---|
MySQL 현재 시각 조회(NOW, SYSDATE) (0) | 2022.07.05 |
MySQL 사용자 계정 추가 (인증플러그인) (0) | 2022.06.27 |
MySQL 인덱스 스캔(Index Scan) (0) | 2022.05.11 |
[MS-SQL] Comment 수정 (0) | 2022.02.25 |