*본격적으로 시작하기 전에 AWS 과금 방지를 위한 기본 셋팅을 하고 가자!
아마존 관계형 데이터베이스 서비스로, 아마존 웹 서비스(AWS)가 서비스하는 분산 관계형 데이터베이스
💫 특징
새로 생성한 보안 그룹의 인바운드 규칙을 수정하여 EC2 서버 인스턴스와 연결해준다!
MYSQL/Aurora 유형으로 소스에는 EC2의 보안그룹 코드
를 설정하여 새로운 인바운드 규칙을 추가한다.
그럼 이제 EC2에서 RDS의 접근이 가능한 상태가 된다!
→ 이를 WorkBench에서 RDS 엔드포인트를 Host명으로 하고, 설정한 사용자명과 비밀번호로 접속했을 때 연결에 성공하면 제대로 진행된 것이다!
파라미터 그룹 → 데이터베이스에 연결하기
데이터베이스 선택 > [수정]
default로 설정된 부분을 새로 생성한 파라미터 그룹으로 변경
→ 즉시 적용 하여 인스턴스를 수정
변경 사항
time_zone
: Asia/Seoul
character_set
로 시작하는 모든 설정값 : utf8mb4
*utf8 VS utf8mb4의 차이점
collation
: utf8mb4_general_ci
변경 사항을 적용하기 위해 [작업] > [재부팅]을 해주고 파라미터 그룹에서 변경한 설정값들이 잘 변경되었는지 확인한다.
select @@time_zone, now();
만약 변경되지 않았다면 sql문을 사용해 강제로 바꿔준다.
// character_set. collation 변경
ALTER DATABASE umc_server
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';
// time_zone 변경
SET time_zone='Asia/Seoul';
이후 show variables like ‘c%’/’t%’
, select @@time_zone, now();
으로 variable이 잘 변경되었는지 확인하면 성공이다!
한글이 제대로 출력되는지 확인하기 위해 테스트 해보자
use 데이터베이스명;
CREATE TABLE test ( // test는 테이블명
id bigint(20) NOT NULL AUTO_INCREMENT,
content varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE = InnoDB;
insert into test(content) values ('한글 테스트');
select * from test;
*InnoDB란? MySQL의 데이터베이스 엔진으로, MySQL의 모든 바이너리에 내장되어 트랜잭션을 제공한다.
$ mysql -u 사용자명 -p -h Host주소(RDS엔드포인트)
다음과 같이 뜨면 접속에 성공한 것이다!
이와 같이 한글이 제대로 인코딩되어 출력되는 것을 볼 수 있다.