AWS RDS 사용 시, DB Navigator에러


1 minute read

책에서 하라는 대로 다 설정했는데도 DB Navigator에서 Connection error를 발생시켰다.

Connection error

이 사람이랑 똑같은 경우..

한 두어시간 RDS 처음부터 다시 만들고, 파라미터 그룹 다시 만들고, 심지어 EC2까지 다시 만들고 별 지랄을 다해봤는데, 결국은 실패…

이쯤되면 DB Navigator에 문제 있는거 아닌가 싶어서 그냥 기존에 쓰던 인텔리제이 Database 접속기로 접속하니 접속이 된다…

RDS Success

use [db이름]; #잘된다!

select @@time_zone, now(); #잘된다!

show variables like 'c%'; #잘된다!

여기까진 순조로웠다

아니, 일단 결과는 잘 나왔으니… 순조롭다고 생각했다..

문제는 실제로 테이블 만들어서 데이터 넣을 때 발생

CREATE TABLE test (
    id bigint(20) not null auto_increment,
    content varchar(255) default null,
    primary key (id)
)ENGINE=InnoDB;

insert into test(content) values ('테스트');

당연히 CREATE까지는 잘 됬는데 insert에서 1366, incorrect string value에러가 발생

구글링 해보니 한글 입력 에러란다..

혹시나해서 variables를 다시 보니

parameter

사진은 수정 후라 3행의 character_set_database가 utf8mb4로 제대로 되있는데 원래는 latin1로 되어있었다.

parameter group

분명 RDS상의 파라메터 그룹에는 제대로 설정되있고,

Putty를 통해 RDS접속해서 조회해봐도 utf8mb4로 되어있었다.

빡치긴하지만… 구글링해서 수정..

ALTER DATABASE pleasedb CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_general_ci';

알아서 charater set은 utf8mb4로, collation부분은 utf8mb4_general_ci로 일괄 수정해준다.

근데….. 이래도 똑같은 에러가 또난다…

또 구글링해보니 뭐 /my.cnf파일을 수정하느니 뭐하니 하는데 귀찮아서 더 뒤적거리다가 답을 찾았다.

alter table test convert to charset utf8mb4;

테이블 자체를 utf8mb4로 바꿔버리기

result

어후… RDS 빡세다..

참조

Leave a comment