[DATABASE] 사용자 권한 설정

SEUNGJUN·2024년 3월 18일
0

DATABASE

목록 보기
1/4
post-thumbnail

데이터베이스를 개인 서버에서 운영을 하는데 프로젝트를 진행하는데 특정 데이터베이스 스키마를 만들고 해당 스키마 이외에는 권한을 주지 않도록 설정해야 한다.

데이터 제어어(DCL : Data Control Language)

1. GRANT 형식

  • GRANT [권한|ROLE] TO [사용자|ROLE|PUBLIC]
  • 권한을 부여함

2. REVOKE 형식

  • REVOKE [권한|ROLE] FROM [사용자|ROLE|PUBLIC]
  • 권한을 회수함

1. MySQL에 로그인한다.

2. 사용자 생성.

CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';

username: 새로운 사용자의 이름
password: 비밀번호

이렇게 생성을 하면 결과로

Query OK, 0 rows affected (0.07 sec)

새롭게 생성한 사용자가 추가 된것을 확인할수 있다.

3. 특정 스키마만 접근이 가능하도록 설정.

GRANT ALL PRIVILEGES ON <databaseSchema>.* TO '<username>'@'%';

ALL PRIVILEGES: 모든 권한 부여

4. 변경된 권한 즉시 적용.

FLUSH PRIVILEGES;

실제 human1이라는 유저로 접속을 진행하고 Databases를 확인해보니 다른 Database Schema이외 다른 schema는 보이지 않는걸로 확인이 된다.

profile
RECORD DEVELOPER

0개의 댓글