MYSQL DB 구축 및 Spring with Gradle과 연동
개발중에는 각자 로컬 DB를 사용합니다. 스키마와 데이터는 공유합니다.
나중에 AWS 배포 시에 공유가 가능한 DB를 구축합니다.
MySQL Workbench
를 사용합니다. 로컬에 없다면 설치해주세요.
참고 사이트 와 동일한 과정으로 진행합니다.
DB의 1번째 버전입니다.
스키마와 DB 사용자를 생성하는 부분에서 명칭 통일을 위해 아래의 캡처 사진과 동일하게 진행해주세요.
스키마 이름: baechoo
사용자 이름: admin
비밀 번호: root
4. 홈으로 이동해 새로운 권한 생성(사이트 참고)
sql문은 \spring-team\sql
폴더에 존재합니다.
ddl -> dml 순서로 실행해야 합니다.
ddl에 스키마에 접속하는 부분이 포함되어 있어 실행만 시키면 됩니다.
MySQL 8.0 Command Line Client에서 DB를 확인하는 방법
show databases; -- DB의 목록에 baechoo가 있어야 합니다.
use baechoo; -- baechoo 스키마에 접속합니다.
show tables; -- 스키마에 존재하는 테이블의 목록를 확인합니다. (User 등 4가지가 있어야 합니다.)
제가 진행하여 깃에 추가했으므로 풀을 받아서 사용하시면 됩니다.
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'mysql:mysql-connector-java'
}
2. application.properties
추가
제가 진행하여 깃에 추가했으므로 풀을 받아서 사용하시면 됩니다.
spring.datasource.url=jdbc:mysql://localhost:3306/baechoo?autoReconnect=true&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC
spring.datasource.dbcp.test-on-borrow=true
spring.datasource.dbcp.validation-query=select 1
spring.datasource.username=admin
spring.datasource.password=root
spring.jpa.show-sql=true
spring.datasource.url
에서 autoReconnect=true
는 필수
com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
기본적으로 8시간 안에 request가 오지 않으면 강제적으로 Connection을 닫아버리기 때문에 발생하 에러
spring.datasource.url=jdbc:mysql://localhost:3306/schema_name?조건들
spring.datasource.dbcp.test-on-borrow=true
spring.datasource.dbcp.validation-query=select 1
spring.datasource.username=user_name
spring.datasource.password=password
spring.jpa.show-sql=true