본문 바로가기
  • 배움에는 끝이 없다.
Application/SQL (Mysql,MariaDB)

[SQL] DB 외부 접속 허용 (MySQL / MariaDB)

by 줘패자 2023. 1. 29.

※ 버전 별 차이가 있을 수 있음

■ 환경

  • OS : CentOS 7
  • DB : MySQL 5.7.40
    ※ CentOS, Ubuntu 환경 모두 Command는 동일
1. 외부 접속 계정 생성 시 아래 항목 확인 필요
  • 외부에서 접속 하려는 DB 명
  • 외부에서 접속 하려는 DB User, PW
  • 접속 하시려는 PC IP

2. 외부 접속 계정 추가

[환경]

  • 외부에서 접속 하려는 DB : TEST123
  • 외부에서 접속 하려는 DB User,PW : TEST123_DB_USER / TEST123_Test
  • 접속 시도 PC IP : 123.123.123.123

■ Command : grant all privileges on DB명.* to 계정명@접속하려는 IP identified by '패스워드' with grant option;

 

[예시]

mysql> grant all privileges on TEST123.* to TEST123_DB_USER@123.123.123.123 identified by 'TEST123_Test' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)


mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

[확인]

mysql> select user,host from mysql.user;
+----------------+-----------------+
| user           | host            |
+----------------+-----------------+
| TEST123_DB_USER | 123.123.123.123 |
| TEST123_DB_USER | localhost       |
| mysql.session  | localhost       |
| mysql.sys      | localhost       |
+----------------+-----------------+

 

3. 외부 접속 계정 삭제

■ Command : DELETE FROM mysql.user WHERE Host='삭제할 외부 접속 IP' AND User='삭제할 계정';

 

[예시]

mysql> DELETE FROM mysql.user WHERE Host='123.123.123.123' AND User='TEST123_DB_USER';
Query OK, 1 row affected (0.00 sec)



mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

 

[확인] - 삭제된 내역 확인

mysql> select user,host from mysql.user;
+----------------+-----------+
| user           | host      |
+----------------+-----------+
| TEST123_DB_USER | localhost |
| mysql.session  | localhost |
| mysql.sys      | localhost |
+----------------+-----------+

테이블 형태 및 기타 등등 이유로 버전 별 명령어가 다릅니다.

MariaDB 10.4라던가.. 시간 생기면 정리해서 올리겠습니다~!

댓글