MariaDB에서 CREATE USER 명령어는 새로운 사용자 계정을 생성하고 관리할 때 사용됩니다. 이 명령은 데이터베이스 관리자가 사용자 계정을 생성하고, 보안 설정을 추가하며, 리소스 사용 제한을 지정하는 데 매우 유용합니다.
1. CREATE USER 명령어의 기본 문법
CREATE [OR REPLACE] USER [IF NOT EXISTS] user_specification [, user_specification ...]
[REQUIRE {NONE | tls_option [[AND] tls_option ...]}]
[WITH resource_option [resource_option ...]]
[lock_option] [password_option];
- user_specification:
username@hostname
형식으로 사용자를 정의합니다. - authentication_option: 비밀번호 또는 인증 플러그인을 설정합니다.
- tls_option: TLS/SSL 연결을 요구하는 옵션입니다.
- resource_option: 계정별 리소스 제한(예: 시간당 최대 연결 수)입니다.
- lock_option: 계정을 잠그거나 잠금 해제하는 옵션입니다.
- password_option: 비밀번호 만료 정책을 설정합니다.
2. 주요 기능과 사용 예제
2-1. 기본 사용자 생성
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
위 명령어는 지정된 사용자와 호스트에 대해 계정을 생성하며, 해당 계정은 지정된 비밀번호로 인증됩니다.
2-2. 계정 재정의
CREATE OR REPLACE USER 'username'@'hostname' IDENTIFIED BY 'new_password';
기존 계정을 삭제하고 새롭게 생성합니다.
2-3. 익명 사용자 계정 생성
CREATE USER ''@'localhost';
익명 사용자 계정을 생성하며, 특정 상황에서 유용합니다.
3. 추가 보안 및 제한 옵션
TLS 연결 요구
CREATE USER 'secure_user'@'%'
REQUIRE SSL;
TLS(SSL) 연결을 강제하여 보안을 강화합니다.
리소스 제한
CREATE USER 'limited_user'@'localhost' WITH
MAX_QUERIES_PER_HOUR 100
MAX_CONNECTIONS_PER_HOUR 10;
계정이 사용할 수 있는 쿼리 및 연결의 최대치를 제한합니다.
계정 잠금
CREATE USER 'lock_user'@'localhost' ACCOUNT LOCK;
계정을 잠가 새로운 연결을 방지합니다.
4. 비밀번호 관리
비밀번호 해시 사용
CREATE USER 'hashed_user'@'localhost' IDENTIFIED BY PASSWORD '*HASHED_PASSWORD';
사전에 해시된 비밀번호를 사용하여 보안을 강화합니다.
비밀번호 만료 설정
CREATE USER 'temp_user'@'localhost' PASSWORD EXPIRE INTERVAL 30 DAY;
30일 후 비밀번호가 만료되도록 설정합니다.
5. 사용자 계정 이름 규칙
- username@hostname 형식으로 정의됩니다.
- 사용자 이름은 최대 128자까지 가능하며, 호스트 이름은 최대 255자까지 지원합니다.
- IP 주소 또는 도메인 이름을 사용할 수 있습니다.
MariaDB의 CREATE USER 명령은 데이터베이스 계정 관리를 위한 강력하고 유연한 도구입니다. 이를 통해 데이터베이스 보안을 강화하고 리소스 관리를 세분화할 수 있습니다. 다양한 옵션을 활용하여 사용 사례에 맞는 계정을 생성해 보세요!
'MySQL MariaDB > SQL 문법' 카테고리의 다른 글
MariaDB `DROP ROLE` 명령어: 효율적 역할 관리의 모든 것 (3) | 2024.11.17 |
---|---|
MariaDB에서 CREATE ROLE. 역할 생성 (0) | 2024.11.16 |
MariaDB에서 사용하지 않는 계정 삭제 DROP USER 하는 방법 (0) | 2024.11.15 |
MariaDB ALTER USER 문법 및 사용 사례 설명 (1) | 2024.11.14 |
JOIN 문을 활용한 테이블 결합 - MariaDB 가이드 (0) | 2024.11.12 |
MariaDB.CREATE INDEX (0) | 2024.11.11 |
기본 SQL 디버깅.쿼리 디자인. (1) | 2024.11.08 |
MySQL/MariaDB row_number 함수. 랭킹(순위) 구하기. (0) | 2024.07.15 |
댓글