본문 바로가기

IT/NAS

[자작NAS] 우분투 서버에 Docker로 MariaDB 설치

반응형

MariaDB는 MySQL이 오라클에 인수된 이후 MySQL을 포크하면서 생긴 DBMS입니다.

MySQL과 호환이 되기 때문에 MySQL을 대체해서 많이 사용됩니다.

MariaDB는 DB를 사용하는 다양한 소프트웨어와 연동이 가능합니다.

Docker Compose로 MariaDB를 실행하는 방법을 알아보겠습니다.

 

1. docker-compose.yml 파일에 MariaDB 추가

현재 최신 버전인 11.0.2를 기준으로 설치를 진행하겠습니다.

docker-compose.yml 파일을 생성해서 MariaDB를 추가할 수 있습니다.

sudo nano ~/docker-compose.yml

다음과 같이 내용을 입력하면 됩니다.

version: "3.9"
services:

...기타 컨테이너 설정

  mariadb:
    image: mariadb
    container_name: mariadb
    env_file: .env
    environment:
      - MYSQL_MYSQL_LOCALHOST_USER=${MARIADB_LOCALHOST_USER}
      - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
    volumes:
      - ${MARIADB_PATH}/data:/var/lib/mysql
    ports:
      - 3306:3306
    healthcheck:
      test: ["CMD", "/usr/local/bin/healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 10s
      retries: 30
    restart: unless-stopped

다음으로 MariaDB를 위한 환경변수들을 추가합니다.

sudo nano ~/.env

다음 내용을 추가하고 비밀번호 부분은 실제 사용할 비밀번호를 입력하면 됩니다.

# MariaDB
MARIADB_LOCALHOST_USER=mysql@locahost
MARIADB_ROOT_PASSWORD=비밀번호
MARIADB_PATH=/data/mariadb

이제 MariaDB 컨테이너를 생성하고 실행하면 됩니다.

sudo docker compose up -d mariadb

이것으로 MariaDB가 실행됩니다.

 

2. MariaDB 접속 방법

다음 명령어로 MariaDB에 접속할 수 있습니다.

sudo docker compose exec -it mariadb mariadb -u root -p

비밀번호는 .env에 입력한 비밀번호를 입력해주면 됩니다.

 

3. root 계정 비밀번호 변경 방법

root 계정을 변경하려는 경우 MariaDB에 접속한 후 다음과 같이 입력하면 됩니다.

use mysql;
UPDATE user SET password=PASSWORD('새비밀번호') WHERE User='root';
FLUSH PRIVILEGES;
quit;

새비밀번호 부분에 새롭게 쓸 비밀번호를 입력하면 됩니다.

 

4. 새 데이터베이스 생성

다른 소프트웨어가 MariaDB를 연결하는 경우 새로운 데이터베이스와 사용자를 생성해야 합니다.

아래 명령어는 Snipe-IT을 위한 DB와 사용자 생성 명령어입니다.

CREATE DATABASE snipeit;
CREATE USER 'snipeit'@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON snipeit.* TO 'snipeit'@'%';
FLUSH PRIVILEGES;
quit

비밀번호에는 원하는 비밀번호를 입력하면 됩니다.

다른 서비스와 연동하려는 경우 snipeit 부분을 다른 원하는 이름으로 변경하면 됩니다.

 

이것으로 MariaDB의 기본적인 설정이 완료됩니다.

반응형