Backend/SQL

[SQL] 데이터베이스 사용자

해로몬 2024. 10. 29. 16:25

사용자 확인


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

SELECT USER();

+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
  • 설명: 현재 접속된 데이터베이스 사용자 계정을 확인할 수 있습니다.
  • 출력: user@hostname 형식으로 현재 접속 중인 사용자 정보가 출력됩니다.


2. 특정 사용자의 생성 쿼리 확인: SHOW CREATE USER

SHOW CREATE USER;
  • 특정 사용자의 생성 쿼리와 속성을 확인할 수 있습니다


3. 모든 사용자 계정 목록 확인

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 사용자를 삭제합니다.

'Backend > SQL' 카테고리의 다른 글

[SQL]데이터베이스 백업/복원  (0) 2024.10.29
[SQL] DCL(Data Control Language)  (0) 2024.10.29
[SQL] 뷰(VIEW)  (0) 2024.10.29
[SQL] 제약조건(Constraints)  (3) 2024.10.29
[SQL] 참조키 : 기본키, 외래키  (0) 2024.10.29