티스토리 뷰
Docker를 사용하면 간단하게 개발환경을 구성해야 할 때 참 유용한것 같다. 아직 Docker File을 잘 작성하지는 못해도 남들이 만들어 놓은 이미지를 잘 사용하고 있다. 이번에는 MySql을 설치하고 Springboot app에 연동을 해야 한다. 설치부터 차근차근 알아보자.
1. Docker로 MySql 설치하기
일단 필자는 local (Windows10) 환경에 Docker를 설치하고 여기에 MySql을 설치하였다.
> docker pull mysql:8.0.17
docker image pull을 받았다. 물론 인터넷이 가능한 환경이어야 한다.
> docker images
기존에 설치한 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 내부로 들어가서 작업을 진행할 수 있다.
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을 사용하기 위한 준비는 끝이 난다.
끝!
'DevOps > Docker' 카테고리의 다른 글
Docker로 GitLab Windows 환경에 설치하기 (1) | 2021.07.19 |
---|---|
Docker Windows 설치 시 WslKernelUpdateNotInstalledException 오류 조치 (1) | 2021.07.13 |
Docker 환경에서 MSSQL 설치 및 기본설정하기 (0) | 2021.03.12 |
Docker 사설망 접근시 no route to host 오류 해결방법 (0) | 2020.12.01 |
docker-compose 설치 및 yml 작성, 명령어 (with WordPress) (0) | 2020.10.14 |