현재 컨테이너 생성시에 MySQL을 설치한 상태이다. 이 상태에서 자바의 ORM기능을 사용하여 DB와 연동하기 위해 몇가지 과정이 필요하다.
1. pom.xl에 관련된 의존성 추가
2. MySQL 사용자 추가/DB생성/권한부여
3. application 파일에 빌드 설정
1. pom.xl에 관련된 의존성 추가
<!-- JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
'spring-boot-starter-data-jpa' 는 자바의 ORM(Object-Relational Mapping : 객체를 DB의 테이블에 자동으로 매핑 시켜주는 프레임워크)을 사용하기 위한 JPA 라이브러리다.
'mysql-connector-java'는 MySQL과 자바를 연결하기 위한 라이브러리다.
https://mvnrepository.com/artifact/mysql/mysql-connector-java
이곳에서 원하는 버전에 맞게 추가해주면 된다.
2. MySQL 사용자 추가/DB생성/권한부여
우선 mysql을 켜자.
# service mysql start // mysql 시작
# mysql -u root -p // root로 접속
사용자 계정을 추가하기 전, 현재 존재하는 계정을 확인한다.
mysql> use mysql; // mysql DB선택
mysql> select host, user, password from user; // user 테이블 보기
사용자 추가
mysql > create user 사용자ID; // 사용자 추가
mysql > create user 사용자ID@localhost identified by '비밀번호'; // 사용자 추가 + 비밀번호 설정
//사용하던 계정에 외부 접근 권한을 주려면 Host를 localhost 대신 '%'로 해서 똑같은 계정을 추가한다.
mysql > create user 사용자ID@'%' identified by '비밀번호'; // '%' : 외부에서의 접근을 허용
이제 생성한 계정이 접근할 수 있는 데이터베이스를 생성하고 권한을 부여하자.
데이터베이스 생성
mysql > show databases; // DB 목록 확인
mysql > create database DB명; // DB 생성
mysql > create database DB명 default character set utf8; // 한글 인코딩으로 DB 생성
권한 부여
// 계정이 이미 존재 하는데 IDENTIFIED BY '비밀번호' 부분을 추가하면 비밀번호가 변경된다.
mysql> GRANT ALL privileges ON DB명.* TO 사용자ID@locahost IDENTIFIED BY '비밀번호';
mysql> GRANT ALL privileges ON DB명.* TO 사용자ID@'%' IDENTIFIED BY '비밀번호';
mysql > flush privileges; // 변경된 내용을 메모리에 반영(권한 적용)
권한 확인
mysql > SHOW GRANTS FOR 사용자ID@localhost; // userid 와 host명까지 붙여서 검색해야 함
mysql > SHOW GRANTS FOR 사용자ID@'%';
3. application 파일에 빌드 설정
이제 application 파일에 DB정보를 입력해야한다. application 파일은 src/main/resources 폴더에 존재한다.
강의에서 .yml을 사용했기 때문에 yml로 설정해준다.
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul # blog : DB명
username: test # 사용자ID
password: test1234 # 비밀번호
참고
https://yangyag.tistory.com/367
https://www.youtube.com/watch?v=6bhF5o4gAOs&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=1
'👨💻 개발 > spring boot' 카테고리의 다른 글
[나만의 Blog 만들기] #3. 프로젝트 실행 (0) | 2021.10.23 |
---|---|
[나만의 Blog 만들기] #2. 의존성 설정(pom.xml) (0) | 2021.10.23 |
[나만의 Blog 만들기] #1. 구름 ide로 spring boot 개발환경 설정하기 (0) | 2021.10.23 |
[개념 및 기초] #3. 스프링 부트 동작원리 (0) | 2021.10.13 |
[개념 및 기초] #2. JPA란? (0) | 2021.10.13 |