본문 바로가기
공부/프로젝트

DB 서버를 연동해보자

by JERO__ 2022. 7. 25.

현재까지 진행된 '내편(내마음을편지로)' 프로젝트의 플로우

1. DB설치(mysql)

CREATE DATABASE naepyeon default CHARACTER SET utf8mb4;

2. TABLE 생성

create table member (
    member_id bigint not null auto_increment,
	email varchar(255) not null,
	password varchar(255) not null,
	username varchar(20) not null,
	primary key (member_id)
) engine=InnoDB default charset utf8mb4;
.
.
.

- 테이블은 직접 SQL을 통해 적용한다.

- 실제 배포용 yml의 ddl-auto를 validate로 고정시켰기 때문이다.

 

3. 설정파일을 적용한다.

  • application-deploy.yml
  • jar 실행시 해당 설정파일을 사용하도록 추가
    nohup java -jar -Dspring.profiles.active=deploy naepyeon-0.0.1-SNAPSHOT.jar 2>&1 &
    
    PID=$(pgrep -f naepyeon)
    
    if [ -n $PID ]; then
            kill -9 $PID
            sleep 5
    fi
    
    nohup java -jar -Dspring.profiles.active=deploy naepyeon-0.0.1-SNAPSHOT.jar 2>&1 &
    
  • nohup java -jar -Dspring.profiles.active={프로필 이름} {빌드된 jar 파일 명}.jar 2>&1 &
spring:
  h2:
    console:
      enabled: true
  datasource:
    url: ${MYSQL_URL}
    username: ${MYSQL_USERNAME}
    password: ${MYSQL_PASSWORD}
    driver-class-name: com.mysql.cj.jdbc.Driver

  jpa:
    hibernate:
      ddl-auto: validate
    properties:
      hibernate:
        format_sql: true
        default_batch_fetch_size: 1000 #최적화 옵션
        dialect: org.hibernate.dialect.MySQL5Dialect
    open-in-view: false

logging.level:
  org.hibernate.SQL: info

security:
  jwt:
    token:
      secret-key: ${JWT_SECRET_KEY}
      expire-length: ${JWT_EXPIRE_LENGTH}

- 환경변수의 키/값이 jar 실행시 적용된다.

 

4. WAS에서 DB에 접근할 수 있도록 계정을 생성한다.

4-1. DB권한있는 계정추가

create user naepyeon@% identified by naepyeon1!
grant all privileges on naepyeon.* to 'naepyeon'@'%' with grant option;
flush privileges;

4-2. DB기본 127.0.0.1 → 주석처리

아래 파일에서 bind-address = 127.0.0.1 와 mysqlx-bind-address = 127.0.0.1이라고 되어있는 곳을 찾아서 주석처리를 해주거나 0.0.0.0으로 모든 곳에서 접근이 가능하도록 설정한다.

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

'공부 > 프로젝트' 카테고리의 다른 글

Flyway를 사용하는 이유  (0) 2022.07.29
젠킨스 pipeline를 설정해보자  (0) 2022.07.26
[지원플랫폼] 플래닝포커를 해보자  (0) 2022.07.25
젠킨스를 적용해보자  (0) 2022.07.25
Swap 메모리를 설정해보자  (0) 2022.07.25

댓글