프로젝트 일지

[🐾 일지] SpringBoot 3.x.x + mariadb 연동 환경설정(docker)

Kamea 2023. 3. 23. 21:58

항상 MySQL workbench만 사용하다가 한번 워크벤치 설정을 잘못하는 바람에 모든 권한에 막아져버렸다...ㅎ

docker에 mariadb를 사용해서 연동하게 된 계기랄까. 결과적으로 이제 MySQL보다 mariadb 가 훨씬 편해졌다

 

프로젝트 설정 시에 데이터베이스 구축할 때 mariadb 데이터베이스 설정하는 방법에 대한 포스트이다.

팀원한테 정리 잘했다고 칭찬받음 뿌-듯

 

 

✓ [조건] docker는 설치가 되어 있어야 합니다!

 

1. cmd or terminal에서 최신버전 mariadb 설치

docker pull mariadb:latest

 

 

2. 도커 이미지 확인 → 아래 노란색 네모와 같이 나타나면 성공!

docker search images

 

 

3. 도커 컨테이너 생성 및 실행

우리 팀은 mysql이 대부분 깔려있어서 MySQL 기본포트인 3306에 포트 충돌이 나버려서 3307로 설정해서 썼다. 

docker run -p 3307:3306 --name mariadb -e MARIADB_ROOT_PASSWORD=root -d mariadb

도커 데스크탑 실행시 mariadb 컨테이너가 RUnning 상테인 것을 볼 수 있다

 

 

4. cmd 또는 terminal에서 mariadb 데이터베이스 생성

(1) cmd 창에서 아래 명령어 입력 → 현재 container_name에는 mariadb 써도 된다. container id를 적어도 됨.

docker exec -it [container_name] bash

 

(2) 해당 컨테이너를 싱행시키기 위한 Mysql 비밀번호 입력

mysql -u root -p

root로 설치를 해 놓았으니 root를 입력하면 된다.

 

앗 비번 한번 틀림;;

 

(3) 데이터베이서 생성 및 선택

create database [데이터베이스 이름];
show databases;
use [데이터베이스 이름];

 

 

5. Springboot application.yml 설정

 

 

 

오류 여담...

그 혹시 MySQL 워크벤치에 mariadb 가 설치되어 있으면 이 과정을 아무리해도 안 될 것입니다...저 datasource.url이 도커에 있는 mariadb가 아니라 mysql 에 설치된 mariadb경로를 따라서 가버리니 해당 url에는 만들어 놓은 데이터베이스가 없다고 뜹니다.. 

해결책은! mysql에 있는 mariadb 삭제하셈...

 

그리고 오늘은 국제 강아지의 날임 🐶