목적
SpringBoot에서 MySQL workbeanch를 연동해서 사용하고 싶다.
(필자의 경우 새 노트북 사면서 새로 한동안 H2만 쓰다보니 잊고있다가 재설치하게 되었다)
환경
SpringBoot 2.7.13 버전 (gradle, JPA, yml 사용)
MySQL 8.0 버전
방법
SpringBoot쪽 설정
1. build.gradle에 dependency 추가 (안하면 아래 에러 항목 중 1번 에러 발생)
: 반드시 H2용 dependency는 제거 또는 주석처리 필요
dependencies {
...
runtimeOnly 'com.mysql:mysql-connector-j' // MySQL
...
}
2. application.yml에 MySQL 설정 추가
: 반드시 H2설정은 제거 또는 주석처리 필요
: ${키값}으로 된 변수는 시스템 환경 변수에 해당 키값에 대한 밸류값을 저장해주기 (설정 후 재부팅 필요)
spring:
...
## MySQL 사용시
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/${TEMPLATE_SCHEME}
username: ${MYSQL_USERNAME}
password: ${MYSQL_PASSWORD}
...
MySQL쪽 설정
1. MySQL Installer로 MySQL 서버 설치 (참고링크 : 공식문서)
2. MySQL Workbench 설치
3. MySQL Workbench에서 DB 및 스키마 생성
에러 참고
1. cannot load driver class: com.mysql.cj.jdbc.driver
1-1) 원인 : MySQL을 읽어낼 의존성이 없다.
1-2) 해결방법 : build.gradle의 dependencies에 dependency를 추가해준다.
dependencies {
...
runtimeOnly 'com.mysql:mysql-connector-j' // MySQL
...
}
참고링크: https://velog.io/@godkimchichi/Spring-Boot-Cannot-load-driver-class-com.mysql.cj.jdbc.Driver
2. test connection failed
2-1) 원인
경우 1. MySQL workbench만 설치하고 MySQL server는 설치 안한 경우
경우 2. MySQL 비밀번호를 설정 안한경우
2-2) 해결방법
경우 1. MySQL Installer로 server 설치
경우 2. MySQL Installer의 Reconfiguration을 이용해 유저네임 및 비밀번호 재설정
'Java & Spring > Spring' 카테고리의 다른 글
[템플릿코드] application-local.yml 루틴 설정 (2023.06.27 기준) (0) | 2023.06.27 |
---|---|
[OAuth2.0] 네이버 로그인 API 개정 (for SpringBoot JPA + MVC) - 진행중 (0) | 2023.06.14 |
[OAuth2.0] Naver OAuth.20 API 요청 시 발생하는 권한 페이지 문제(진행중) (0) | 2023.05.17 |
[OAuth2.0] 네이버(Naver) 로그아웃 - SpringBoot JPA JWT 방식용 (0) | 2023.05.11 |
[OAuth2.0] 네이버(Naver) 로그인 - SpringBoot JPA JWT 방식용 (0) | 2023.05.07 |