Docker로 Mairadb(MySQL) 편하게 설치하기.
안녕하세요. 달소입니다.
이번글에서는 보편적으로 많이 사용되는 MariaDB(MySQL)을 도커로 편하게 설치해서 운영해보도록하겠습니다.
이 RDMBS의 경우 Wordpress나 Rhymix 등 여러 플랫폼에서 많이 사용되기 때문에 한번 구축 잘해놓으면 추후에 많이 손댈필요가 없어서 매우 편하고 도커로 구축할경우 서버이전시 마이그레이션도 간편하기 때문에 이번기회에 네이티브에서 도커로 모두 이전예정입니다.
설치환경
Ubuntu 20.04 LTS
Docker
Docker-compose
사용할 이미지는 MariaDB의 공식이미지입니다.
Linux server것을 사용해볼까했는데 버전이 너무낮아서(10.5) 이왕이면 최신버전을 설치하기위해 공식 이미지를 사용해봅니다.
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에서 포트매핑해준 포트로 접속해주시면됩니다.
접속 잘됩니다~