본문 바로가기
MySQL MariaDB/SQL 문법

MariaDB의 CREATE USER 명령어 사용법: 사용자 계정 생성과 관리

by 쑤- IT, MySQL, MariaDB, DBeaver 2024. 11. 13.

MariaDB에서 CREATE USER 명령어는 새로운 사용자 계정을 생성하고 관리할 때 사용됩니다. 이 명령은 데이터베이스 관리자가 사용자 계정을 생성하고, 보안 설정을 추가하며, 리소스 사용 제한을 지정하는 데 매우 유용합니다.

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 명령은 데이터베이스 계정 관리를 위한 강력하고 유연한 도구입니다. 이를 통해 데이터베이스 보안을 강화하고 리소스 관리를 세분화할 수 있습니다. 다양한 옵션을 활용하여 사용 사례에 맞는 계정을 생성해 보세요!

댓글