지난 시간엔 Synology Drive를 모바일에서 설치, 이용, 응용해 보았는데요.
덕분에 카카오톡 다운로드 폴더를 동기화 + 백업을 할 수 있었어요.
이번에는 DB를 NAS에 설치해 MariaDB와 phpMyAdmin을 이용해보고자 해요.
이번 주제는 소프트웨어를 개발하시거나 DB를 관리하는 분들에게 도움이 될 것 같은데요.
관련 학과 학부생 분들이라면 이런 고민, 한 번은 해볼 것 같습니다.
프로젝트, 혹은 졸업작품을 위해 DB를 외부에 올려야 하는데,
AWS나 호스팅을 이용하면 비용이 발생하네…
프리티어 혹은 조건부 무료 요금을 이용하실 수도 있습니다만, 사용 조건이 붙어요.
- 정해진 사용 시간(~시간, ~개월 무료)
- 사용량 제한(~GB)
- 송수신 트래픽 제한
- 기본 요금 발생 (네트워크 비용 월 3,000원 가량)
- 초과 시 비용 청구
- ..외의 여러 사용 조건
사실 가장 걱정스러운 부분은 언제나 비용 청구일탠데요.
조건을 확실하게 파악하기 어려울 뿐더러, 요금 폭탄을 맞는 사례도 종종 찾아볼 수 있습니다.
Synology NAS가 있다면, 이런 고민들을 줄일 수 있게 되는데요.
오늘 다룰 내용인 직접 NAS에 DB 서버를 구축하는 방법이 되겠습니다.
가장 먼저, 가장 자주 이용하는 관계형 DB(RDB)를 호스팅 해보고자 합니다.

Synology는 기본적으로 패키지 센터에서 볼 수 있는데요.
오픈 소스로 MariaDB의 10.11.6 버전을 지원하고 있습니다.

작성일 (2025-03-31) 기준으로 MariaDB는 11.8.2 버전이 릴리즈되어 있고.
최신 릴리즈와 1년 4개월 정도 차이가 있습니다.
DSM에서 다음과 같이 MariaDB를 설치하시면 되겠습니다.
메인 메뉴 > 패키지 센터 > 모든 페키지 > MariaDB 10 > 설치

MariaDB는 기본 포트로 3306을 이용하고 있습니다.
직접 임의의 숫자로 바꾸셔도 좋습니다.
그리고, 이전 글에서 다룬 포트포워딩을 이용해 MariaDB 포트도 열여주시면 되겠습니다.
세팅이 모두 끝나면 PC로 돌아와서 DB에 접근해 보도록 하겠습니다.
저는 Mysql Workbench를 이용했습니다.

Hostname : 외부 IP
Port : DB 포트(기본 3306)
Username : DB 계정 아이디
Password : DB 계정 비밀번호
를 입력해 연결하였습니다.

이렇게, DB에 접근되는 것을 확인할 수 있습니다.
저는 왜 안될까요?
포트포워딩이 잘 됐나 확인해 봅시다.
– https://www.yougetsignal.com/tools/open-ports/

초록색 깃발이 나오면 포트포워딩이 성공적으로 된 것입니다.
(address : tetraplace.com)
이렇게 해서 내 PC에서 DB를 접근할 수 있었는데요.
이번엔 웹 상에서 DB를 관리할 수 있는 phpMyAdmin를 NAS에 설치하겠습니다.
(오픈소스이며, 종속 패키지로 Web Station이 함께 설치됩니다.)
DSM에서 다음과 같이 PhpMyAdmin을 설치하시면 되겠습니다.
메인 메뉴 > 패키지 센터 > 모든 페키지 > phpMyAdmin > 설치

절차에 따라 설치를 완료하셨다면, 열기를 클릭해 다음과 같은 화면을 보실 수 있습니다.

사용자명 : DB 계정 아이디
암호 : DB 계정 비밀번호
를 입력해 연결하였습니다.

이렇게 해서 MariaDB를 NAS에 설치하여 DB 서버로 만들어 보았는데요.
이런 생각도 드실 것 같아요.
고작 DB를 위해 NAS를 살 만큼 값어치를 하는가?
- 프로젝트가 시간이 지나 시체처럼 죽어있는 채 Github에 남아있는 것이 아깝다.
- 저렴한 비용(전기세)으로 DB가 계속 유지된다.
- 새로운 토이 프로젝트를 위한 DB가 CREATE DATABASE 쿼리 한 번에 준비가 된다.
이런 이유로 저는 NAS를 활용하고 있어요.
이 글을 읽으시는 독자분들의 요구에 맞게 DB 호스팅과 NAS중 선택하시면 좋겠습니다.
이렇게 해서, 외부에서 MariaDB에 접근할 수 있게 되었습니다.
NAS가 있으시다면 고민 없이 시도해보시는 것을 추천드려요!
다음 포스트에서는 phpMyAdmin과 함께 설치된 Web Station에 대해 알아보겠습니다.