포트만 3306으로 설정해주고 설치한다.
mysql이랑 겹치므로 삭제하고 설치한다.
aws 포트경로랑도 일치해서 다른 포트로 하면 어디까지 바꿔야할지 감이안온다. 그냥 mysql을 사용하면 테이블을 백업하고 삭제하자.
docker-compose.yml 설정을 해준다.
version: "3"
services:
mariadb:
container_name: mariadb
image: mariadb:10
ports:
- ${MARIA_BINDING_PORT}:${MARIA_PORT}
volumes:
- ${MARIA_DEFAULT_CONFIG_PATH}:/etc/maria/conf.d
- ${MARIA_DATA_PATH}:/var/lib/maria
- ${MARIA_ENTRYPOINT_PATH}:/docker-entrypoint-initdb.d
env_file:
- .env
environment:
- TZ= "Asia/Seoul"
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MARIADB_USER=${MARIADB_USER}
- MARIADB_DATABASE=${MARIADB_DATABASE}
- MARIADB_PASSWORD=${MARIADB_PASSWORD}
networks:
- backend
restart: always
networks:
backend:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
초기설정 : initdb.d -> create_table.sql과 load_data.sql 파일을 생성
.env
#####MARIADB
MARIA_BINDING_PORT=${인바운드 포트}
MARIA_PORT=${아웃바운드 포트}
MARIA_DEFAULT_CONFIG_PATH=./db/conf.d
MARIA_DATA_PATH=./db/data
MARIA_ENTRYPOINT_PATH=./db/initdb.d
MARIADB_HOST=${aws 탄력적IP}
MARIADB_PORT=${인바운드 포트}
MARIADB_ROOT_PASSWORD=${root password}
MARIADB_DATABASE=${database 이름}
MARIADB_USER=${사용자}
MARIADB_PASSWORD=${사용자 비밀번호}
docker-compose up -d
implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.4.1'
spring:
jpa:
database-platform: org.hibernate.dialect.MariaDBDialect
hibernate:
ddl-auto: update
###mariadb
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: ${MARIA_URL}
username: ${MARIA_USERNAME}
password: ${MARIA_PASSWORD}
#MARIADB
MARIA_URL: jdbc:mariadb://${탄력적 IP주소}:${인바운드 포트}/${데이터베이스 이름}
MARIA_USERNAME: ${사용자}
MARIA_PASSWORD: ${비밀번호}
import.sql 있으면 넣으면된다.
완성. 헤이디로 원격IP로 접속하면 잘된다.