-
[MariaDB] 계정관리 - ALTER USERIT/etc 2022. 3. 13. 12:55
계정관리 - ALTER USER
MariaDB
ALTER USER 명령문은 기존 MariaDB 계정을 수정합니다. 이를 사용하려면 전역 CREATE USER 권한 또는 mysql 데이터베이스에 대한 UPDATE 권한이 있어야 합니다. read_only 시스템 변수가 활성화된 경우 전역 SUPER 권한도 필요합니다.
지정된 사용자 계정이 아직 존재하지 않으면 오류가 발생합니다. 오류가 발생하면 ALTER USER 하진 않는 게정을 계속 수정합니다. 수정되지 않은 모든 사용자에 대해 하나의 오류만 생성됩니다.
Account Names
For example : 현재 세션에 로그인한 계정의 패스워드 변경
ALTER USER CURRENT_USER() IDENTIFIED BY 'mariadb';
Password Expiry
For example : 첫번째 패스워드 만료일 120일 설정, 두 번째 패스워드 만료 없음 설정, 세 번째 시스템 기본값 설정
ALTER USER 'monty'@'localhost' PASSWORD EXPIRE INTERVAL 120 DAY; ALTER USER 'monty'@'localhost' PASSWORD EXPIRE NEVER; ALTER USER 'monty'@'localhost' PASSWORD EXPIRE DEFAULT;
SHOW CREATE USER : 사용자 암호 만료 상태에 대한 정보를 표시합니다. MySQL과 달리 사용자가 잠금 해제되 있거나 암호 만료가 기본값을 설정돼 경우에는 표시되지 않습니다.
For example :
CREATE USER 'monty'@'localhost' PASSWORD EXPIRE INTERVAL 120 DAY; CREATE USER 'konstantin'@'localhost' PASSWORD EXPIRE NEVER; CREATE USER 'amse'@'localhost' PASSWORD EXPIRE DEFAULT; SHOW CREATE USER 'monty'@'localhost'; +------------------------------------------------------------------+ | CREATE USER for monty@localhost | +------------------------------------------------------------------+ | CREATE USER 'monty'@'localhost' PASSWORD EXPIRE INTERVAL 120 DAY | +------------------------------------------------------------------+ SHOW CREATE USER 'konstantin'@'localhost'; +------------------------------------------------------------+ | CREATE USER for konstantin@localhost | +------------------------------------------------------------+ | CREATE USER 'konstantin'@'localhost' PASSWORD EXPIRE NEVER | +------------------------------------------------------------+ SHOW CREATE USER 'amse'@'localhost'; +--------------------------------+ | CREATE USER for amse@localhost | +--------------------------------+ | CREATE USER 'amse'@'localhost' | +--------------------------------+
비밀번호 만료 시점 확인
For example :
WITH password_expiration_info AS ( SELECT User, Host, IF( IFNULL(JSON_EXTRACT(Priv, '$.password_lifetime'), -1) = -1, @@global.default_password_lifetime, JSON_EXTRACT(Priv, '$.password_lifetime') ) AS password_lifetime, JSON_EXTRACT(Priv, '$.password_last_changed') AS password_last_changed FROM mysql.global_priv ) SELECT pei.User, pei.Host, pei.password_lifetime, FROM_UNIXTIME(pei.password_last_changed) AS password_last_changed_datetime, FROM_UNIXTIME( pei.password_last_changed + (pei.password_lifetime * 60 * 60 * 24) ) AS password_expiration_datetime FROM password_expiration_info pei WHERE pei.password_lifetime != 0 AND pei.password_last_changed IS NOT NULL UNION SELECT pei.User, pei.Host, pei.password_lifetime, FROM_UNIXTIME(pei.password_last_changed) AS password_last_changed_datetime, 0 AS password_expiration_datetime FROM password_expiration_info pei WHERE pei.password_lifetime = 0 OR pei.password_last_changed IS NULL;
'IT > etc' 카테고리의 다른 글
[MariaDB] mysql 클라이언트 프로그램 옵션 명령어 수행 (0) 2022.03.14 [MariaDB] 서비스 기동 및 종료 (0) 2022.03.13 칼퇴하는 윈도우(Windows) 단축키^^ (0) 2022.03.12 [MariaDB] "Create User" 계정생성 (0) 2022.03.11 [MariaDB] "GRANT" 권한 수준 및 부여방법 (0) 2022.03.10