관리 메뉴

SIMPLE & UNIQUE

2회차_3강 : 생성한 스키마에 한국시간, 한국 인코딩 설정을 하고 더미데이터를 삽입한다. 본문

탈잉 강의 자료/react.js(프론트) + node.js(백앤드) 개발에서 배포까지

2회차_3강 : 생성한 스키마에 한국시간, 한국 인코딩 설정을 하고 더미데이터를 삽입한다.

착한코딩 2020. 2. 9. 16:05

2_3 목표 : DB서버 시간을 한국으로 변경하고, 한글인코딩 설정을 한다. 함수작성 권한을 추가한다. 리스트 페이지에서 사용할 더미데이터를 삽입한다.

 

1. DB 시간을 한국 시간으로 변경한다.

  RDS 서버 세팅 후, 파라미터 그룹 설정을 변경하지 않았다면 아래와 같이 time-zone이 한국이 아닌 UTC로 되어있을 것이다.

## 참고 ##

  time-zone을 바꾸는 이유는 다양하지만, 이 사이트에서는 게시글을 insert/update 할 때 DB시간으로 등록/수정 시간을 세팅해 넣는다. 이때 한국시간으로 등록/수정하기 위해서 time-zone을 변경하는 것이다.

select now();

SHOW GLOBAL VARIABLES LIKE '%zone%';

RDS 파라미터 그룹에서 time-zone을 서울로 바꿔줘야, 기본으로 등록되어있는 dafault.으로 시작하는 파라미터 그룹은 수정이 되지 않아 [파라미터 그룹 생성] 버튼으로 새로운 파라미터 그룹을 생성해 준다.

아래와 같이 세팅후 [생성] 버튼을 누른다.

아래와 같이 생성된 파라미터명을 클릭하면

파라미터 값을 수정할 수 있는 상세페이지로 진입하는데, time_zone이라는 파라미터 값을 검색한다.[ 파라미터 편집] 버튼으 누른다.

[파라미터 편집] 버튼을 누르면 값을 선택할 수 있는데, Asia/Seoul을 선택하고 [변경 사항 저장] 버튼을 누른다.

이제 수정한 파라미터 그룹을 RDS 인스턴스에 등록해줘야 한다. DB명을 클릭해 상세페이지로 들어간다.

[수정] 버튼을 누른다.

수정페이지에서 [DB 파라미터 그룹] 영역을 찾아, 추가한 파라미터 그룹으로 변경해준다.

즉시 적용을 선택하고 [DB 인스턴스 수정] 버튼을 누른다.

수정 버튼을 누르면 RDS 서버가 [수정중] 상태가 되는데, 수정이 끝나고 아래 쿼리를 조회해보면 한국 시간으로 변경된 것을 확인할 수 있다. 

## 참고 ##

  만약 변경이 되지 않았다면 RDS 서버를 재시작한다.

2. 한글 인코딩 설정을 한다.

  RDS 서버 초기 세팅 상태에서 한글 데이터를 INSERT 하면, TABLE에 한글이 깨져서 삽입된다. 이때 테이블 별로 UTF-8로 인코딩을 변경해주면 해결할 수 있다. 아래와 같은 쿼리로 인코딩 타입을 변경해준다.

ALTER TABLE rtrod.rtrod_swtool convert to charset utf8;

3. Update/Delete 문이 실행되지 않을 때

 

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

  update/delete 쿼리를 실행할 때, 1175 에러코드의 메시지가 뜬다면, UPDATE 안전 모드로 되어있기 때문이다. 아래 쿼리로 SAFE MODE 를 꺼주면 해결할 수 있다.

SET SQL_SAFE_UPDATES = 0;

4. 함수, 트리거 등이 생성되지 않을때

 

MySQL Error 1227 “Access denied; you need (at least one of) the SUPER privilege(s) for this operation”

 

  함수나 트리거를 생성하는데 1227 에러코드 메시지가 뜬다면, 함수 생성 권한을 추가해야한다. 1번 서버시간 변경에서 사용한 파라미터 그룹 수정페이지로 들어간다. log_bin_trust_function_creators 값을 1로 수정 후, [변경 사항 저장] 버튼을 누른다.

4. 이전 강에서 생성한 테이블에 더미데이터를 삽입한다.

INSERT INTO `rtrod_swtool` VALUES 
('USW20201016154820','ICARUS WINGS',' 코호트 특성 분석 및 장기 관찰 연구,  예측 모델 개발.','20191030152436_이카루스 라벨이미지.png','20191030152433_이카루스 메인이미지.png','Immune/Inflammatory Disease Common Data Model Augmentation for Research Union System (ICARUS) Web-based Infographic Service (WINGS), 다중 코호트 특성 분석 및 장기 관찰 연구, 그리고 예측 모델 개발을 통한 중증 난치성 면역 질환의 기저-진행-예측의 전반적인 프로세스 분석/시각화 툴.','http://github.com/ABMI/ICARUSviewer','20191030152430_ICARUS및 ICARUSWINGS 설명.docx','http://github.com/ABMI/ICARUSviewer','20191016155224','admin','20191224083918','')
,('USW20201018102833','AEGIS','질병 위험도 및 군집 지도 시각화','20191030152400_aegis 라벨이미지.png','20191030152356_aegis 메인이미지.png','Application for Epidemiological Geographic Information System, 코호트 기반의 공간 역학 모델링 및 지리정보 시각화 도구','https://github.com/ohdsi/aegis','20191030152345_ICARUS및 ICARUSWINGS 설명.docx','https://github.com/ohdsi/aegis','20191018102819','ljung99@naver.com','20191030062402','admin')
,('USW20201018103243','ATLAS','코호트 생성, 예측 분석 등을 지원','20191030152419_th_i1.png','20191030152416_sw_icn.png','OHDSI의 CDM 기반 분석 포털로 코호트 생성, 예측 분석 등을 지원하는 분석 도구 ','https://github.com/OHDSI/Atlas','20191030152413_ATLAS_manual.xlsx','https://github.com/OHDSI/Atlas','20191018103232','ljung99@naver.com','20191030062421','admin');

 

5. RDS 인스턴스에 동시접속가능한 DB connection 수를 확인한다.

  아래 쿼리를 조회해보면 t2.micro의 경우는 결과값이 66이 나오는데, db connection를 66개까지 연결할 수 있다는 의미이다. DB connection pool을 사용할 때, max_connection 값을 생각해서 세팅해야한다.

show variables like 'max_connections';

RDS 서버 사양별 최대 연결 수는 아래와 같다.

t2.micro: 66
t2.small: 150
m3.medium: 296
t2.medium: 312
M3.large: 609
t2.large: 648
M4.large: 648
M3.xlarge: 1237
R3.large: 1258
M4.xlarge: 1320
M2.xlarge: 1412
M3.2xlarge: 2492
R3.xlarge: 2540

 

https://taling.me/Talent/Detail/19341

 

[3월/주말] REACT, NODE, MYSQL, AWS 개발부터 배포까지/ 따라하면 완성되는 웹프로젝트. | 탈잉

✔ 수업 목표 ⊙ Font-end(react), back-end(node), mysql 구조를 프레임워크화 한다. ⊙ SELECT, UPDATE, DELETE, INSERT를 각각 1세트씩 구현한다. (CRUD 세트를 참고해서 만들고 싶은 기능을 혼자 개발할 수 있어요) ⊙ AWS EC2 인스턴스를 생성하고, 서버에 접근하여 파일을 컨트롤 할 수 있다. ⊙ AWS RDS(mysql) 인스턴스를 생성하고, 필요한 테이블들을 관리할 수 있다. ✔ 제 수업만의

taling.me

 

Comments