시놀로지 NAS 도커를 이용한 MariaDB 설치 및 외부 접근 방법

들어가며

시놀로지 NAS에서는 도커를 통해 다양한 응용프로그램을 간편하게 설치하고 관리할 수 있는 환경을 제공해 주고 있는데요.

 

 

MariaDB
MariaDB

 

 

그중에서 오늘 알아볼 내용은 도커를 이용하여 시놀로지 NAS에 MariaDB를 설치하고, 생성한 데이터베이스에 유저 생성을 생성하는 방법과 외부 접근 허용 방법 등에 대해 다뤄보도록 하겠습니다.

 

MariaDB를 설치하기 위해서는 먼저 도커를 설치하셔야 하는데요. 이전 포스팅에서 설치방법을 소개해드렸으니 이 링크를 통해 확인해 보시고 설치를 진행하시면 되겠습니다.

 

 

[목차]

1. 도커와 가상화 기술 소개

2. MariaDB를 도커로 설치하기

2-1. 이미지 다운로드

2-2. 폴더 생성

2-3. 이미지 설치

3. MariaDB 접속해 보기

4. 유저 생성 및 외부 접근 설정 방법

5. 마무리

 

 

도커와 가상화 기술 소개

시놀로지 NAS는 VM 방식과 도커 가상화를 지원하고 있습니다.

 

 

VMM과 Docker(Container Manager)
VMM과 Docker(Container Manager)

 

 

VM 방식은 전체 운영체제를 가상화하여 여러 개의 독립적인 가상 머신을 생성하는 것이며, 도커 가상화는 응용프로그램과 필요한 라이브러리 및 환경을 격리된 컨테이너로 관리하는 방식입니다. 도커는 리소스 효율성과 관리 용이성 등의 장점을 가지고 있습니다.

(참고로, DSM 7.2 버전부터는 도커라는 명칭에서 Container Manager로 변경되었습니다.)

 

 

 

MariaDB를 도커로 설치하기

1. 이미지 다운로드

먼저, MariaDB 이미지를 다운로드하여야 하는데요. Container Manager를 실행하셔서 레지스트리 메뉴에서 ‘MariaDB’를 검색하신 뒤 이미지를 더블클릭해 다운하시면 됩니다.

 

 

MaridDB 이미지 다운로드
MaridDB 이미지 다운로드

 

 

MariaDB 이미지는 가장 많은 별표를 받은 최상단 이미지를 다운하시면 됩니다. 더블클릭하면 아래 사진과 같이 태그를 선택하라고 하는데, 최신버전(latest) 혹은 원하시는 버전을 선택해 다운해 주시면 됩니다.

 

 

태그 선택
태그 선택

 

 

2. 폴더 생성

MariaDB 관련 폴더들을 생성해 줘야 합니다. 아래와 같이 Docker 폴더 아래에 mariadb 폴더를 생성하신 뒤 config와 data폴더를 생성해 주시면 됩니다.

 

 

폴더 생성
폴더 생성

 

 

3. 이미지 설치

다음으로, 조금 전에 받은 이미지를 설치를 진행해 주시면 되는데요. 이미지 메뉴에 들어가시면 조금 전에 받은 MariaDB 이미지가 있습니다. 이 이미지를 우클릭하신 뒤 ‘실행’을 눌러서 설치를 진행하시면 되겠습니다.

 

 

MariaDB 설치
MariaDB 이미지 실행

 

 

실행을 누르시면 아래와 같이 컨테이너 생성창이 나타나는데요.

 

 

컨테이너 생성
컨테이너 생성

 

 

컨테이너 이름은 기본 이름도 상관없으시다면 기본 이름으로 사용하시면 되고, 알아볼 수 있는 본인만의 이름을 적으셔서 설치를 진행하셔도 됩니다.

자동 재시작 활성화는 컨테이너가 종료되었을 때 자동으로 재시작할 건지 체크하는 항목입니다. 필요하신 분들은 체크하셔서 사용하시면 되겠습니다.

설정이 완료되셨다면 [다음] 버튼을 눌러 설치를 계속 진행하시면 되겠습니다.

 

 

포트 및 볼륨 설정
포트 및 볼륨 설정

 

 

포트 설정을 통해 포트를 기본포트인 3306을 사용하지 않고 변경을 할 수도 있는데요. 포트 변경이 필요하시다면 체크하셔서 포트를 변경하시면 되겠습니다.

볼륨 설정에서는 조금 전에 생성한 폴더들을 추가해 주어야 하는데요. 폴더 추가 버튼을 누르셔서 아래와 같이 폴더들을 추가해 주시면 됩니다.

 

 

추가할 폴더
추가할 폴더

 

 

폴더를 한 개씩 추가하신 다음에 아래 사진처럼 경로를 지정해 주시면 됩니다.

 

 

경로 지정
경로 지정

 

 

/etc/mysql/conf.d
/var/lib/mysql

 

 

블로그에 복사 방지가 적용되어 있어서 아래와 같이 새창으로 열기 아이콘을 누르시면 복사가 가능합니다.

 

 

새창으로 열기
새창으로 열기

 

 

다음은 환경변수를 설정해 주어야 하는데요. 아래와 같이 값들을 입력해 주시면 됩니다.

 

 

환경변수 설정
환경변수 설정

 

 

TZ : Asia/Seoul
MYSQL_ROOT_PASSWORD : 원하시는 비밀번호 입력

 

 

MYSQL_ROOT_PASSWORD에는 원하시는 비밀번호를 입력하시면 해당 값으로 초기 패스워드가 설정됩니다. 이렇게 환경변수 설정을 마치셨다면, [다음] 버튼을 누르시면 됩니다. 다음 화면으로는 요약화면이 나오는데 값들이 정확한지 확인하시고, [완료] 버튼을 눌러서 설치를 마무리하시면 되겠습니다.

 

 

설치 요약
설치 요약

 

 

 

MariaDB 접속해 보기

설치가 완료되었다면, 이제 데이터베이스에 접속해 볼 차례입니다.

무료 프로그램인 HeidiSQL을 사용하여 접속해 보겠습니다. 이 링크를 통해 다운하실 수 있습니다.

 

 

신규 접속 생성
신규 접속정보 생성

 

 

HeidiSQL을 통한 접속
HeidiSQL을 통한 접속

 

 

HeidiSQL 프로그램을 실행해 보시면, 위 사진과 같이 세션 관리자 창이 나타나는데요. 호스트/IP에는 시놀로지의 IP를, 사용자‘root’, 암호는 조금 전에 환경변수 MYSQL_ROOT_PASSWORD에 입력하신 비밀번호를 입력해 주시고, 포트3306을 입력해 주신 뒤 [열기] 버튼을 눌러주시면 접속이 되겠습니다.

 

 

 

유저 생성 및 외부 접근 설정 방법

root 유저는 모든 권한을 가지고 있기 때문에 보통 사용을 하지 않습니다. 따라서 사용할 유저를 하나 생성해서 사용하는 것이 보안상 권장되는 바인데요. MariaDB 내에서 유저를 생성하여 데이터베이스에 접근이 가능하도록 할 수 있습니다.

 

 

/* 유저 생성 */
CREATE USER 'newuser'@'%' IDENTIFIED BY 'newpassword';
/* 권한 부여 */
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'%';
/* 변경사항 반영 */
FLUSH PRIVILEGES;

 

 

유저 생성을 할 때 ‘newuser’에는 사용하실 유저명을 입력하시면 되겠습니다.

@ 뒤에 ‘%’로 작성한 부분은 모든 IP 접근이 가능하도록 하는 부분이며, 특정 대역대의 IP를 허가하려면 ‘192.168.0.%’과 같이 퍼센트(%) 기호를 입력해 주시면 되겠습니다. 또, 내부 접근만 가능하게 하려면 ‘localhost’를 입력하여 유저를 생성하시면 되겠습니다.

권한 부여 부분은 데이터 베이스 접근 권한을 부여하는 쿼리이며, GRANT 뒷부분에 부여할 권한을 입력해 주시면 됩니다. ‘ALL’이라고 작성된 부분은 모든 권한을 부여하겠다는 뜻입니다.

ON 뒷부분에는 권한을 부여할 데이터 베이스를 적어주시면 되고, TO 다음 부분에는 권한을 부여받을 유저를 입력하시면 되겠습니다.

권한설정까지 마치셨다면, FLUSH PRIVILEGES 쿼리를 실행해 변경사항을 반영하시면 되겠습니다.

 

 

 

마무리

지금까지 시놀로지 NAS에 도커를 이용하여 MariaDB를 설치하고 유저 생성 및 외부 접근 허용 방법에 대해 알아보았습니다.

시놀로지 NAS를 이용해 데이터베이스를 구축하시려는 분들께 도움이 되었으면 합니다.

오늘 포스팅은 여기서 마무리하도록 하겠습니다.

감사합니다!

 

댓글 남기기