[Day 12 | DB] 데이터베이스 사용자

y♡ding·2024년 10월 29일
0

데브코스 TIL

목록 보기
78/163

1. 데이터베이스 사용자 (Database User)

  • 정의: 데이터베이스 사용자란, 데이터베이스에 접근하고 쿼리를 수행할 수 있는 권한을 가진 계정을 의미합니다. 각 사용자는 고유한 사용자명과 비밀번호를 가지며, 권한 설정에 따라 데이터에 접근할 수 있습니다.
  • 역할: 여러 사용자가 데이터베이스를 사용하면서 권한에 따라 읽기, 쓰기, 삭제 등의 작업을 수행할 수 있습니다.
  • 사용자 게정 생성: CREATE USER 명령어를 통해 새로운 사용자 계정을 생성합니다.

사용자 확인

  1. 현재 접속된 사용자 확인: SELECT USER()
SELECT USER();

+---------------+
| user()        |
+---------------+
| root@lovalhost|
+---------------+
  • 설명: 현재 접속된 데이터베이스 사용자 계정을 확인할 수 있습니다.
  • 출력: user@hostname 형식으로 현재 접속 중인 사용자 정보가 출력됩니다.
  1. 특정 사용자의 생성 쿼리 확인: SHOW CREATE USER
SHOW CREATE USER;
  • 특정 사용자의 생성 쿼리와 속성을 확인할 수 있습니다.
  1. 모든 사용자 계정 목록 확인
SELECT User, Host FROM mysql.user;

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

사용자 계정 생성

사용자 계정을 생성하려면 CREATE USER 명령어를 사용합니다. CREATE USER 구문은 새로운 사용자를 생성하고, 호스트와 비밀번호를 설정할 수 있습니다

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • username: 생성할 사용자 이름.
  • host: 사용자가 접속할 수 있는 호스트(보통 localhost 또는 % 사용).
  • localhost: 로컬에서만 접속 가능.
  • %: 모든 호스트에서 접속 가능.
  • password: 사용자의 비밀번호.

예시

예시 1: 로컬에서만 접속 가능한 사용자 생성


CREATE USER 'tester1'@'localhost' IDENTIFIED BY '1234';
  • tester1이라는 사용자를 생성하며, 이 사용자는 localhost에서만 접속할 수 있습니다.
  • 비밀번호는 '1234'로 설정됩니다.

예시 2: 모든 호스트에서 접속 가능한 사용자 생성

CREATE USER 'tester2'@'%' IDENTIFIED BY 'abcd1234';
  • tester2라는 사용자를 생성하며, 이 사용자는 모든 호스트(%)에서 접속할 수 있습니다.
  • 비밀번호는 'abcd1234'로 설정됩니다.

예시 3: 비밀번호 없는 사용자 생성

CREATE USER 'guest'@'localhost';
  • guest라는 사용자를 생성하지만 비밀번호는 설정하지 않습니다. 이런 경우 보안을 위해 특정한 권한만 부여하거나 테스트 환경에서만 사용해야 합니다.

사용자 삭제

사용자가 더 이상 필요하지 않거나, 보안상의 이유로 사용자를 삭제해야 할 때 DROP USER 명령어를 사용합니다.

DROP USER 'username'@'host';

예시

DROP USER 'tester1'@'localhost';
  • localhost에서 접속 가능한 tester1사용자를 삭제합니다.

0개의 댓글

관련 채용 정보