MariaDB
[Spring] SpringBoot EC2에서 AWS RDS MariaDB 연동 및 배포
SpringBoot 프로젝트를 EC2로 배포하고 AWS RDS MariaDB를 연결해서 실행되는 것까지 확인할 것이다. 1. 인스턴스 생성 1) 인스턴스 생성 키페어를 새로 생성해주었다. 스토리지는 무료 최대 사이즈인 30으로 설정하고 생성해주면 된다. 2) 인바운드 규칙 편집 MariaDB는 MYSQL/Auroa 유형으로 설정해주면 된다. 3) 탄력적 IP 설정 인스턴스를 중지했다가 다시 실행해도 IP가 변경되지 않도록 탄력적 IP를 설정했다. 설정하지 않아도 무관하다. 나중에 인스턴스를 삭제하면 탄력적 IP도 삭제해주도록 하자. 기본 설정 그대로 할당했다. 연결된 인스턴스 ID가 비어있다. 연결시켜 주자! 이 탄력적 IP 주소 연결 클릭한다. 이전에 생성한 인스턴스를 선택해준다. 2. AWS EC2 ..
[Spring] AWS RDS MariaDB 생성 및 SpringBoot 프로젝트 연동
AWS RDS MariaDB를 생성해 스프링 부트와 연동해보자. 1. AWS RDS MairaDB 생성 데이터베이스 생성 버튼을 클릭하고 MariaDB를 선택한다. 템플릿은 프리티어, 식별자는 원하는대로 작성하면 되고, 마스터의 사용자 이름과 비밀번호도 원하는대로 설정한다. 20GB까지 무료이므로 변경해주고, 스토리지 자동 조정 활성화를 꺼준다. 외부에서 DB에 접근이 가능하도록 하기 위해 퍼블릭 액세스 부분은 '예'로 변경했다. 추가 구성을 열어, 초기 데이터베이스를 생성해주었다. 자동 백업 활성화는 비활성화 해주었다. (필자는 혹시 몰라 보존기간 0일, 스냅샷으로 태그 복사를 비활성화 한 뒤 자동 백업을 비활성화 시켰다.) 마이너 버전 자동 업그레이도도 비활성화 해주었다. 이제 데이터베이스를 생성하면..
[Spring] AWS RDS MariaDB + Spring Boot, Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation '=' 해결
AWS RDS MariaDB와 Spring Boot를 연동하고, 서버 실행 후 PostMan으로 테스트를 해보려고 했는데 다음과 같은 에러가 발생했다. Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation '=' 찾아보니, JOIN 조건에 있는 각 테이블 컬럼의 문자셋이 달라서 발생하는 에러 라고 한다. HediSQL에서 데이터베이스와 각 테이블의 문자셋을 변경해주었다. -- 데이터베이스 문자셋 변경 alter database DB이름 character set utf8 collate utf8_general_ci; -- 테이블 문자셋 변경 alter table 테이블명 con..
[Spring] SpringBoot 프로젝트에서 MariaDB 사용하기, 간단한 테스트
SpringBoot 프로젝트에 MariaDB를 사용하려면 일단은 데이터베이스를 생성해야 한다. 1. 데이터베이스 생성 MariaDB를 설치하면 같이 깔리는 HeidiSQL을 켜보자. 세션이 없으면 새로 생성하면 되고, 이미 있다면 MariaDB 설치시 등록했던 암호를 입력한다. 우클릭 > 새로 생성 > 데이터베이스을 통해 새로운 데이터베이스를 생성한다. 나는 test라는 이름의 데이터베이스를 생성할 것이다. 2. Springboot 프로젝트 생성 나는 프로젝트를 생성할 때, dependencies에 MariaDB Driver를 추가했다. 아니면, 따로 build.gradle에 dependencies를 추가해주어도 된다. 프로젝트는 start.spring.io 에서 생성했다. 3. application.y..
[MariaDB] 설치 시, 3306 Port 문제 해결 방법
MairaDB를 설치하려는데, 3306 Port가 이미 사용 중이라고 하길래, 해결 방법을 찾아보았다. 1. 리소스 모니터 실행 2. 네트워크 > 수신대기 포트 탭 해당 탭을 열어 3306 포트를 사용 중인 것을 찾으면 된다. 현재 이미 문제가 해결된 상태라 mysqld.exe라고 적혀있는데, 해결하기 전에는 mysql.exe 였다. 3306포트를 찾았으면 해당 PID를 기억해둔다. 3. cmd 관리자 권한으로 실행 아까 기억해둔 PID를 통해 다음과 같이 cmd에 작성한다. taskkill /F /PID [PID번호] 만약 PID가 1234이었으면 taskkill /F /PID 1234 으로 입력하면 된다. 이 명령어를 치면 해당 프로세스가 종료 되었다고 뜰 텐데, 이제 다시 MariaDB 설치화면으로..