12-04-Real-MySQL¶
Real MySQL 8.0 1 - 사용자 및 권한
- MySQL 사용자는 접속 지점(호스트, 도메인, IP 주소)도 계정의 일부
- 시스템 계정:
SYSTEM_USER권한- 계정 관리(생성, 삭제, 권한 부여/제거)
- 다른 세션(Connection), 그 세션에서 실행중인 쿼리 강제 종료
- 스토어드 프로그램 생성시 DEFINER를 타 사용자로 설정
DEFINER: 프로시저나 함수가 그것을 생성한 사용자의 권한으로 실행됨
계정 생성¶
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 DEFAULT
PASSWORD REQUIRE CURRENT DEFAULT;
IDENTIFIED WITH: 사용자의 인증 방식과 비밀번호 설정- Native Pluggable Authentication - 비밀번호 해시 값
- Caching SHA-2 Pluggable Authentication - 암호화 해시 알고리즘 적용 SSL/TLS/RSA 키페어
- PAM Pluggable Authentication - 엔터프라이즈 에디션
- LDAP Pluggable Authentication - 엔터프라이즈 에디션
REQUIRE: MySQL 서버 접속시 암호화된 SSL/TLS 채널 사용 여부 설정PASSWORD EXPIRE: 비밀번호의 유효 기간 설정NEVER: 만료 기간 없음DEFAULT: default_password_lifetime 시스템 변수에 저장된 기간으로 설정INTERVAL n DAY: 오늘부터 n일자로 설정
PASSWORD HISTORY: 비밀번호 재사용 설정DEFAULT: password_history 시스템 변수에 저장된 개수만큼 저장, 재사용 금지 xn: 최근 n개 저장, 재사용 x
PASSWORD REUSE INTERVAL: 비밀번호 재사용 금지 기간 설정(password_reuse_interval 변수)PASSWORD REQUIRE: 새로운 비밀번호로 변경할 때 현재 비밀번호 필요 여부ACCOUNT LOCK/UNLOCK: 개정 생성 시 또는 ALTER USER 명령어로 변경할 때 계정 잠금 여부
Dual Password¶
하나의 계정에 대해 2개의 비밀번호(Primary, Secondary)를 동시에 설정할 수 있는 기능
- 새로운 비밀번호로 변경을 할 때 서비스를 멈추지 않고 순차적으로 변경 가능