mydb라고 붙여서 생성하자.$ sudo apt update $ sudo apt install redis
$ redis-cli 127.0.0.1:6379> ping PONG
$ sudo apt install openjdk-17-jdk
$ java -version

# local 환경 spring: profiles: default: local datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: true data: redis: host: localhost port: 6379 logging: level: org.springframework.cache: trace --- # prod 환경 spring: config: activate: on-profile: prod datasource: url: jdbc:mysql://{rds 주소}:3306/mydb username: admin password: password
application.yml 정보를 .gitignore 처리를 하지 않았다. 실제 프로젝트에서는 보안을 위해 application.yml 정보를 .gitignore 처리를 해서 버전 관리가 되지 않게 만들어야 한다. $ git clone {Github Repository 주소} $ cd {프로젝트 경로}
# 스프링 프로젝트 경로로 들어가서 아래 명령어 실행 $ ./gradlew clean build -x test $ cd build/libs $ java -jar -Dspring.profiles.active=prod {빌드된 jar 파일명}
-- 높은 재귀(반복) 횟수를 허용하도록 설정 -- (아래에서 생성할 더미 데이터의 개수와 맞춰서 작성하면 된다.) SET SESSION cte_max_recursion_depth = 1000000; -- boards 테이블에 더미 데이터 삽입 INSERT INTO boards (title, content, created_at) WITH RECURSIVE cte (n) AS ( SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 1000000 -- 생성하고 싶은 더미 데이터의 개수 ) SELECT CONCAT('Title', LPAD(n, 7, '0')) AS title, -- 'Title' 다음에 7자리 숫자로 구성된 제목 생성 CONCAT('Content', LPAD(n, 7, '0')) AS content, -- 'Content' 다음에 7자리 숫자로 구성된 내용 생성 TIMESTAMP(DATE_SUB(NOW(), INTERVAL FLOOR(RAND() * 3650 + 1) DAY) + INTERVAL FLOOR(RAND() * 86400) SECOND) AS created_at -- 최근 10년 내의 임의의 날짜와 시간 생성 FROM cte;