MySQL 외부 접속 및 권한 부여를 위한 계정 생성/ 삭제

Eunbin Park·2023년 4월 25일
0

Prerequisite

  • MySQL 데이터베이스
    • 본 문서에서는 AWS RDS 에 열어둔 데이터베이스를 기반으로 합니다
    • 본 데이터베이스는 외부 접속이 가능하도록 미리 설정해 둔 상태입니다

Account & Authority

반드시 Admin 계정으로 접속해야 합니다.
계정을 만들고싶은 데이터베이스에 접속하여 현재 유저를 확인합니다.

최초 데이터베이스 생성 이후는 admin과 mysql.* 만 존재합니다.

USE mysql;
SELECT Host, User FROM user;

계정 생성

새로 만들 아이디와 비밀번호를 준비한 후 계정 생성을 위해 아래의 명령어를 입력해 줍니다.

CREATE user '{USER_ID}'@'{HOST}' IDENTIFIED BY '{PASSWORD}';

호스트 설정

  • %: 외부 어디에서든 접속 가능하게 설정
  • localhost: 내부망에서만 접근 가능하게 설정

권한 부여

계정 생성 이후 권한을 부여해줍니다.

Admin을 제외하고는 제한된 권한을 부여해주어야 합니다.

상황에 따라 다르지만 데이터 분석을 위한 추출을 목적으로 하는 경우는 SELECT 만을 부여해도 괜찮습니다.

# SELECT 권한 만을 부여
GRANT SELECT ON {DATABASE_NAME}.{TABLE_NAME_or_ALL} TO '{USER_ID}'@'{HOST}';

# 모든 권한을 부여 ( Optional )
GRANT ALL PRIVILEGES ON {DATABASE_NAME}.{TABLE_NAME_or_ALL} TO '{USER_ID}'@'{HOST}';

# 변경된 사항 적용 ( Required )
FLUSH PRIVILEGES;

계정 삭제

DROP USER '{USER_ID}'@'{HOST}'; 

0개의 댓글