데이터베이스 사용자 관리

유방현·2024년 11월 8일
0

MariaDB/MySQL 데이터베이스 사용자 관리 완벽 가이드

데이터베이스를 운영하다 보면 반드시 알아야 하는 것이 바로 사용자 관리입니다. 이번 포스트에서는 데이터베이스 사용자의 개념부터 생성, 조회까지 상세히 알아보겠습니다.

1. 데이터베이스 사용자란?

데이터베이스 사용자(Database User)는 데이터베이스에 접근하여 쿼리를 실행할 수 있는 권한을 가진 계정을 의미합니다. 각 사용자는:

  • 고유한 사용자명과 비밀번호를 가짐
  • 설정된 권한에 따라 데이터 접근 가능
  • 읽기, 쓰기, 삭제 등의 작업 수행 가능

2. 사용자 확인하기

2.1 현재 접속 사용자 확인

현재 접속한 사용자 정보를 확인하려면 다음 명령어를 사용합니다:

SELECT USER();

실행 결과:

+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+

2.2 모든 사용자 목록 확인

시스템에 존재하는 모든 사용자 계정을 확인하려면:

SELECT User, Host FROM mysql.user;

실행 결과:

+-------------+-----------------+
| User        | Host            |
+-------------+-----------------+
| root        | 127.0.0.1       |
| root        | ::1             |
| root        | desktop-65coiur |
| mariadb.sys | localhost       |
| root        | localhost       |
+-------------+-----------------+

3. 사용자 계정 생성하기

3.1 기본 문법

사용자 계정 생성의 기본 문법은 다음과 같습니다:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

주요 매개변수:

  • username: 생성할 사용자 이름
  • host: 접속 허용할 호스트
    • localhost: 로컬 접속만 허용
    • %: 모든 호스트에서 접속 허용
  • password: 사용자 비밀번호

3.2 사용자 생성 예시

  1. 로컬 전용 사용자 생성
CREATE USER 'tester1'@'localhost' IDENTIFIED BY '1234';
  1. 원격 접속 가능한 사용자 생성
CREATE USER 'tester2'@'%' IDENTIFIED BY 'abcd1234';
  1. 비밀번호 없는 사용자 생성 (테스트용)
CREATE USER 'guest'@'localhost';

보안 주의사항

  1. 실제 운영 환경에서는 반드시 강력한 비밀번호를 사용하세요.
  2. 호스트 설정 시 % 사용은 신중하게 결정해야 합니다.
  3. 비밀번호 없는 계정은 테스트 환경에서만 사용하세요.
  4. 각 사용자에게 필요한 최소한의 권한만 부여하는 것이 좋습니다.

참고 자료

profile
코딩하는 직장인

0개의 댓글