[MySQL C API] 1. MySQL 외부에서 DB 접속

in0213·2024년 8월 1일

1단계 MySQL 새로 생성하기

MySQL 기본 포트가 3306이지만 새로 만들어서 외부에서도 접속할 수 있게 설정한다.

1. 외부 접속 설정

MySQL 설정 파일 열기

(ubuntu)$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

PORT = 3333
bind-address = 0.0.0.0
//mysql-bind-address = 127.0.0.1

  • PORT에는 기본 포트가 3306으로 되어있지만 자신이 정한 포트번호로 바꾼다.
  • bind-address에는 외부에서도 접속 할 수 있게 0.0.0.0을 작성한다.
  • mysql-bind=address에는 외부에서도 접속 할 수 있게 주석처리를 해준다.

mysql 재시작

(ubuntu)$ sudo service mysql restart

기본 포트(3306)닫고, 외부 접속포트(3333) 방화벽 해제

(ubuntu)$ sudo ufw deny 3306 && sudo ufw allow 3333

2. 유저와 IP 접속 권한 만들기

root 계정 접속

(ubuntu)$ mysql -u root

Backend에서 사용할 계정 생성

use mysql;
CREATE USER '[ID]'@'%' identified by mysql_native_password '[PW]';
FLUSH PRIVILEGES;
  • use mysql은 MySQL 서버에서 mysql 데이터베이스를 사용하는 것을 나타낸다.

  • CREATE USER에는 대괄호를 빼고 자신이 정한 ID와 PW를 작성하면 된다.
    여기서 ID와 PW를 하고 싶다면 아래 처럼 하면 된다.
CREATE USER ‘[ID]’@’%’ IDENTIFIED BY ‘[PW]’;

  • FLUSH PRIVILEGES는 변경사항 적용이다.

DB 생성 후 권한 허용

CREATE DATABASE <DB명>;
GRANT ALL PRIVILEGES ON <DB명>.* to ‘[ID]’@’%’;
FLUSH PRIVILEGES;

윈도우 MySQL Workbench에서 보고싶다면

MySQL Workbench실행 후 + 버튼 누르기

연결 정보 입력

  • 1번 : DB명
  • 2번 : IP주소와 Ubuntu환경 MySQL에서 정한 PORT번호
  • 3번 : Ubuntu환경 MySQL에서 정한 ID

이후에 Test Connection 버튼 클릭 후 전에 저장했던 ID와 PW를 입력하면 된다.

0개의 댓글