

















한글 데이터가 깨지지 않고 잘 출력시키게 하기 위해 utf-8 인코더를 설정해줍니다.

아래 더 있으면 그것들도 전부 utf8mb4로 수정해줍니다.utf8과 utf8mb4 모두 한글이 깨지지 않게 인코딩해주지만 차이가 있습니다. utf8은 이모지를 저장할 수 없지만, utf8mb4는 이모지를 저장할 수 있습니다. utf8은 가변 3바이트를 사용하는데 반해서, utf8mb4는 내부적으로 한 문자를 표현하는데 4바이트를 사용합니다. 3바이트만 사용하는 utf8은 이모지를 저장할 수 없습니다.

옵션 부분에서 DB 파라미터 그룹을 default에서 수정해줍니다.

계속 후 즉시적용 누릅니다.

수정되는 데 약간의 시간이 소요될 수 있습니다.
수정 완료 시 수정사항을 적용시키기 위해 재부팅을 해줍니다.

재부팅 후 datagrip을 다시 확인해 봅니다.
앞서 변경한 time_zone을 확인해봅니다.

현 시간이 잘 나오는 것을 확인할 수 있습니다.
일부 설정은 변경이 적용되었지만, character_set_database와 collation_connection 2가지 항목의 변화가 없습니다.(이미 고친 후라 잘되어있지만 내가 기억하기 위해서 작성..)

이를 위해서 다음 명령어로 강제로 변환시켜줍니다.

character_set_database는 바뀌었지만 collation_connection은 바뀌지 않았습니다. 일단 utf8mb4로 되어 있으니 넘어갑니다.
파라미터 그룹의 수정이 생겼으므로 다시 재부팅을 해줍니다.
window는 ssh프로그램이 없으므로 git bash창을 사용한다.
$ ssh -i 키페어 ubuntu@퍼블릭IP주소
필자의 경우는 다음과 같다.
$ ssh -i /c/Users/Song/Desktop/within.pem ubuntu@IP주소
Are you sure you want~ 이런 질문이 나오면 yes 하면 된다.
다음과 같이 뜨면 연결 성공

1. apt-get 업데이트
$ sudo apt-get update
2. JDK 설치
$ sudo apt install openjdk-17-jdk
java -version과 javac -version으로 잘 설치 됐는지 확인해보자.

3. MySQL 설치
$ sudo apt install mysql-server
접속해보자.
$ sudo mysql -u root -p
Enter password: 엔터
select now();를 하면 시스템 시간을 따라가서 시간이 다른 것을 볼 수 있다.
exit로 나와 시간대를 변경해주자.
$ sudo timedatectl set-timezone 'Asia/Seoul';
$ sudo systemctl restart mysqld; //mysql 재실행
다시 mysql에 접속해 시간 확인하면

잘나온다.
mysql -u root -p -h within.c3grlrpemhnc.ap-northeast-2.rds.amazonaws.com(엔드포인트)
Enter password:RDS디비 비밀번호
접속이 잘되면 show databases;로 확인한다.

내가 만든 스키마가 잘 있으면 성공이다.
필자는 jar 파일을 인텔리제이 bootjar로 빌드한 후 업로드 후 실행했다.

파일 -> 사이트 관리자로 들어간다. 사이트가 없으면 새로 생성합니다. 프로토콜은 SFTP, 호스트는 인스턴스의 퍼블릭IP주소, 포트는 22로 설정합니다. 로그온 유형은 키파일, 사용자는 ubuntu, 키 파일은 인스턴스 생성시의 ssh 파일을 설정합니다.

왼쪽 창에서 오른쪽 창으로 원하는 파일을 드래그앤 드롭해서 옮기면 된다.

EC2에서 실행할 때는 다음 명령어를 입력하면 된다.
$ java -jar 파일명.jar
어? 그런데 에러가 터졌다.

jysypt로 암호화해줘서 빌드할 때 톰켓에 아래의 코드를 작성해준 것을 안넣어줘 찾을 수 없다는 에러가 나온 것이다.

그래서 구글링 끝에 아래 코드처럼 쳐주면 문제없이 실행이 되었다.
$ java -jar -Djasypt.password=시크릿키 파일명.jar

후,, S3부터 RDS, EC2연결까지해서 배포하느라 정말 힘든 하루였다.. CORS를 곧 만나게 될 거 같아서 이만 자야겠다..
RDS & EC2 참고
https://yeon-dev.tistory.com/179
https://luminitworld.tistory.com/94
S3참고
https://velog.io/@chaeri93/SpringBoot-AWS-S3%EB%A1%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%97%85%EB%A1%9C%EB%93%9C%ED%95%98%EA%B8%B0