티스토리 뷰

Docker를 사용하면 간단하게 개발환경을 구성해야 할 때 참 유용한것 같다. 아직 Docker File을 잘 작성하지는 못해도 남들이 만들어 놓은 이미지를 잘 사용하고 있다. 이번에는 MySql을 설치하고 Springboot app에 연동을 해야 한다. 설치부터 차근차근 알아보자. 


1. Docker로 MySql 설치하기

일단 필자는 local (Windows10) 환경에 Docker를 설치하고 여기에 MySql을 설치하였다. 

> docker pull mysql:8.0.17

MySql Docker pull

docker image pull을 받았다. 물론 인터넷이 가능한 환경이어야 한다. 

> docker images

docker image 조회

기존에 설치한 mssql, nginx와 더불어 mysql image가 등록이 된것을 확인할 수 있다. 

 

> docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<yourpassword> --name <mysqlservername> mysql:8.0.17 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

run 명령어로 mysql image를 실행하였다. < > 안에 있는 내용만 상황에 맞게 바꿔주면 된다. password 정보와 server 이름에 대한 정보이다. --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 가 뒤에 붙어있는데 이건 mysql을 사용할 때 한글 인코딩에 대해 처리를 해주는 부분이라고 보면 된다. 

 

> docker exec -it <mysqlservername> bash
/# mysql -u root -p

mysql 시작

실행이 완료가 되면 위와 같이 mysql 내부로 들어가서 작업을 진행할 수 있다. 


2. MySql Database 생성 / User 생성 / 권한 주기

mysql> create database oingDB;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| oingDB             |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

내가 사용할 MySql database를 oingDB라는 이름으로 생성을 해줬다. 

 

mysql> create user '<youraccout>'@'%' identified by '<yourpassword>';

그다음은 계정을 생성을 해줬다. < > 안에 생성하고 싶은 계정 정보를 입력하면 된다. 중간에 '%' 붙은건 외부에서도 붙을 수 있는 계정을 뜻한다. 

 

mysql> grant all privileges on <yourDB>.* to '<youraccount>'@'%' identified by '<yourpassword>';

mysql> flush privileges;

마지막으로는 계정 권한 설정을 해준다. 일단 모든 권한을 다 줬다. (혹시 1064 관련 에러가 발생하면 indentified by~ 부분을 삭제해보도록 하자. ) 

 

application에서 사용을 하기 위한 준비는 모두 끝이 났다. 


3. springboot에 연동하기 

springboot에 연동하기 위해서는 설정정보만 추가해주면 된다. 

 

pom.xml

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.17</version>
</dependency>

내가 Docker로 설치한 버전에 맞는 mysql-connector-java를 추가해주면 된다. 조금 틀려도 상관없지만 성격이 그렇다. 

 

application.yml

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://xxx.xxx.xxx.xxxx:3306/oingDB
    username: youraccount
    password: yourpassword
    
mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath*:mybatis/mysql/**/*.sql

springboot의 datasource를 설정하는 application.yml 파일에서는 위와 같이 설정을 해준다. 위에서 만들었던 계정정보, 서버 정보 등을 넣어서 완성시켜주면 된다. 또한 mybatis를 사용한다면 위와 같이 mapper-location 정보도 입력을 해주면 mysql을 사용하기 위한 준비는 끝이 난다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30