행궁동 데이터 엔지니어

반응형

원격 서버에 설치된 데이터베이스에 클라이언트 프로그램(Workbench)으로 접속할 수 있도록 설정하려고 합니다. 원격 접속을 위한 계정 생성과, 보안설정 등 해야 하는 게 조금 있네요. 

 

원격설정이 되고나면 클라이언트 프로그램인 워크벤치로 버스도착정보 저장을 위한 데이터베이스와 테이블을 만들 예정입니다.

 

원격지 데이터베이스(MariaDB) 현황

  • 서버 : AWS EC2

  • 운영체제 : Ubuntu 18.04.3 LTS

  • 데이터베이스 버전 : MariaDB 10.1.43

원격 클라이언트 정보

  • 운영체제 : Windows 10
  • 워크벤치 버전 : MySQL Workbench 8.0.18

원격 접속을 위해 필요한 사항 

  1. AWS 방화벽 설정

  2. MariaDB 원격 접속용 계정 생성

  3. 원격 접속 허용을 위한 /etc/mysql/my.cnf 등 설정 파일 수정

 

1. AWS 방화벽 설정

  • AWS 리소스 그룹 -> 인스턴스로 접근 후 인스턴스의 '보안 그룹'에서 AWS 방화벽 설정으로 접근 가능합니다.

인스턴스에서 해당인스턴스를 선택하고 '보안 그룹'의 그룹명을 클릭 위의 경우에는 "launch_wizard-4"

  • 아래는 보안 그룹의 모습입니다. 인바운드와 아웃바운드 설정을 할 수 있습니다.

  • AWS 리소스 그룹 -> 네트워크 및 보안 -> 보안 그룹으로도 이동할 수 있습니다.

  • 인바운드 규칙에 데이터베이스 원격 접속을 위한 TCP 3306 모든 네트워크 대역(0.0.0.0/0)에 대해 허용해줄 예정입니다.

 

2. MariaDB 원격 접속용 계정 생성(진행 중)

3. 원격 접속 허용을 위한 /etc/mysql/my.cnf 등 설정 파일 수정

  • APT(Advanced Packge Tool)를 사용해서 패키지를 설치하는 데비안 계열 리눅스(데비안, 리눅스 등)는 /etc/mysql 경로에 MariaDB 설정 파일이 저장됩니다.

  • 우선은 /etc/mysql/my.cnf 파일에 원격 접속에 사용할 포트(3306)를 지정해 줬습니다.

  • 다음으로는 /etc/init.d/mysql reload 명령어로 설정 내용을 적용시켰고, netstat -ln 명령어로 Listen중인 포트를 확인했습니다. 

  • 입력한 명령어와 스크린샷 첨부했습니다.

ls -l /etc/mysql <- 데비안계열 MariaDB 설정파일 경로

# 설정파일 경로 확인
ls -l /etc/mysql/

# 포트설정
vi /etc/mysql/my.cnf
port = 3306
socket = /var/run/mysqld/mysqld.sock

# 설정 적용 및 포트확인
/etc/init.d/mysql reload
netstat -ln
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band