프로젝트 구현  중에 MySQL을 사용하게 되었습니다.

사용하면서  찾아본 정보 기록입니다.

 

 

RDS MySQL 구매 관련 내용은 지난 게시글에 있습니다.

RDS 구매 및 MySQL 세팅하기 : https://jemoo1060.tistory.com/52?category=1024391 

 

RDS 구매 MySQL 세팅하기

RDS 필요할 때 마다 까먹을꺼 같아서 기록 해둡니다. AWS 로그인후 오른쪽 상단에 본인이 구매하고자 하는 지역을 설정 합니다. (가끔 멋대로 다른 지역 접속 되어 있는 경우가 있으니 확인) RDS 검

jemoo1060.tistory.com

 

MySQL이란?

MySQL은 구조적 쿼리 언어(SQL)를 기반으로 Oracle에서 개발한 관계형 데이터베이스 관리 시스템(RDBMS)입니다.

 

데이터베이스는 구조화된 데이터 모음입니다. 단순한 쇼핑 목록에서 사진 갤러리 또는 기업 네트워크에서 방대한 양의 정보를 보관할 수 있는 장소에 이르기까지 무엇이든 될 수 있습니다. 특히 관계형 데이터베이스는 데이터를 수집하고 관계형 모델에 따라 구성하는 디지털 저장소입니다. 이 모델에서 테이블은 행과 열로 구성되며 데이터 요소 간의 관계는 모두 엄격한 논리 구조를 따릅니다. RDBMS는 단순히 그러한 데이터베이스를 실제로 구현, 관리 및 쿼리하는 데 사용되는 소프트웨어 도구 세트입니다. 

 

  • 호환성이 좋음  : RDBMS는 수많은 Linux 배포판이나 Mac OS 및 Windows와 같은 Unix 기반 운영 체제를 포함한 모든 주요 컴퓨팅 플랫폼에서 실행됩니다.

 

  • 관계형 : 관계형 데이터베이스를 다른 디지털 스토리지와 차별화하는 주요 요소는 데이터가 높은 수준에서 구성되는 방식에 있습니다. MySQL과 같은 데이터베이스에는 전체를 포괄하는 단일 저장소나 반 또는 비정형 문서 모음과 달리 고도로 코드화된 여러 개의 개별 테이블에 레코드가 포함되어 있습니다. 

 

  • 오픈 소스 :  모든 개인 또는 기업은 Oracle의 오픈 소스 MySQL 코드 기반을 자유롭게 사용, 수정, 게시 및 확장할 수 있습니다. 

 

MySQL  Spring boot 연동하기

build.gradle 에 아래 코드로 의존성 주입합니다.

implementation 'mysql:mysql-connector-java'    
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

 

 

프로젝트 >  src  > main > resources > application.properties 아래 코드 작성합니다.

# Mysql 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 

# Mysql URL
spring.datasource.url=jdbc:mysql://IP입력:Port입력/DB이름입력

# Mysql username 입력
spring.datasource.username= username입력

# Mysql password 입력
spring.datasource.password= password입력 

# DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다.
spring.jpa.hibernate.ddl-auto=update 

# true 설정시 콘솔에서 JPA 쿼리문이 어떻게 작동하고 있는지 확인 log볼 수 있다
spring.jpa.show-sql=true 

# JPA의 작동 SQL log가독성을 높인다.
spring.jpa.properties.hibernate.format_sql=true

 

 

RDS의 경우 IP입력에 MySQL 엔드포인트, Port입력에  MySQL 포트 복사 입력해줍니다.

 

 

DB이름도 복사해서 넣어주세요.

 

입력 예시

 

spring.jpa.hibernate.ddl-auto=[  ]

  • create  :  기존 테이블을 삭제하고 새로 생성 [ DROP + CREATE ]
  • create-drop  :  CREATE 속성에 추가로 어플리케이션을 종료할 때 생성한 DDL을 제거  [ DROP + CREATE +DROP ]
  • update  :  DB 테이블과 엔티티 매핑 정보를 비교해서 변경 사항만 수정 [ 테이블이 없을 경우 CREATE ] 
  • validate  :  DB 테이블과 엔티티 매핑정보를 비교해서 차이가 있으면 경고를 남기고 어플리케이션을 실행하지 않음
  • none  :  자동 생성 기능을 사용하지 않음

 

 

spring.jpa.properties.hibernate.format_sql=true 적용 전 과 후  비교

적용 전

 

적용 후

 

 

 

MySQL  Intellij 연동하기

 

우측 상단에 Datadase 클릭해줍니다.

 

 

 

+  >  Data Source  >  MySQL 눌러줍니다.

 

 

 

 

application.properties에 작성한 코드 넣어줍니다.

User에  spring.datasource.username

password에 spring.datasource.password

URL에 spring.datasource.url 복사 해서 입력해주세요.

 

 

 

 

Test Connection 누르고 Succeeded 뜨면 연동 끝입니다.

 

 

출처:

https://www.talend.com/resources/what-is-mysql/

https://dev-coco.tistory.com/85

복사했습니다!