Docker로 Mairadb(MySQL) 편하게 설치하기.

안녕하세요. 달소입니다.

이번글에서는 보편적으로 많이 사용되는 MariaDB(MySQL)을 도커로 편하게 설치해서 운영해보도록하겠습니다.

이 RDMBS의 경우 Wordpress나 Rhymix 등 여러 플랫폼에서 많이 사용되기 때문에 한번 구축 잘해놓으면 추후에 많이 손댈필요가 없어서 매우 편하고 도커로 구축할경우 서버이전시 마이그레이션도 간편하기 때문에 이번기회에 네이티브에서 도커로 모두 이전예정입니다.

설치환경

Ubuntu 20.04 LTS
Docker
Docker-compose

사용할 이미지는 MariaDB의 공식이미지입니다.

Linux server것을 사용해볼까했는데 버전이 너무낮아서(10.5) 이왕이면 최신버전을 설치하기위해 공식 이미지를 사용해봅니다.

Docker Hub

Mariadb 컨테이너 생성하기

여기서는 docker-compose를 이용해서 진행하겠습니다.

볼륨매칭 시켜줄 디렉터리를 만들고 docker-compose.yml을 작성하겠습니다.

mkdir -p /data/mariadb/data
cd /data/mariadb
vi docker-compose.yml
version: '3.1'

services:

  db:
    container_name: wp_mariadb
    image: mariadb:10.8.2-rc
    restart: always
    environment:
      MARIADB_ROOT_PASSWORD: example
    ports:
      - 3306:3306
    volumes:
      - /data/mariadb/data:/var/lib/mysql

내용은 이미지와 같습니다. 크게어려운 내용은 없으니..
container_name : 컨테이너 이름
image : mariadb:버전
restart : 도커 컨테이너가 꺼지면 자동으로 재시작
MARIADB_ROOT_PASSWORD: 최초 root PW // 추후변경할거라 아무거나..
ports: 기존 Native처럼 사용하실거면 저처럼 3306:3306 포트를 바꾸려면 입맛대로
volumes: conf 파일이나 데이터 파일 저장 위치

작성이 다되었으면 docker-compose up -d 명령어로 시작을 시켜주겠습니다.

이미지를 받고 컨테이너가 다 실행되면 아래 명령어로 컨테이너 내부에 진입할 수 있습니다.(혹은 Portainer의 콘솔 사용)

docker exec -it [컨테이너이름] bash

진입후에 mysql -u root -p 명령어 입력 후 아까 docker-compose에서 적어뒀던 root password로 접속하시면 됩니다.

ROOT PW 변경하기

Root PW를 기본 docker-compose.yml 설정파일에 두는걸 보안상 위험하니 반드시 pw를 변경해주세요.

위 접속한 콘솔에서 아래 명령어로 패스워드를 변경해주겠습니다.

mysql_secure_installation

명령어 입력후 나오는 대화형 콘솔에서 pw 변경과 테스트 db삭제 등등 진행해주시면됩니다.

그리고 다시 mysql -u root -p 로 접근한다음 변경한 pw를 넣어주시면됩니다.

추후 마이그레이션시에는 간단하게 docker-compose.yml파일과 data폴더만 가지고 가면 어디서든 동일한 환경으로 mariadb를 실행하실 수 있습니다.

설치한 MariaDB에 원격접속 하기

그래도 가끔은 MariaDB 원격접속이 필요하시다면 Heidi SQL프로그램등을 통해 진행해주시면되는데요.

위에 remote 설정을 따로 건드리시지 않았다면 docker-compose.yml에서 포트매핑해준 포트로 접속해주시면됩니다.

접속 잘됩니다~