일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 일
- 스컬킹
- 파티룸
- 개발자
- 존경하는위인
- 휴식
- 보드게임점수
- 부천공간대여
- 스페이스우일
- 서울파티룸
- 옥길파티룸
- 웹개발
- 착한코딩
- 스컬킹점수
- 해외여행
- 코딩
- 가장존경하는인물
- 스컬킹점수계산
- 옥길그릭요거트
- 부천파티룸
- 옥길동파티룸
- MBTI
- 광명파티룸
- 보드게임점수계산
- mysql
- 옥길요거트
- 그릭요거트
- 구로파티룸
- 취미
- 옥길동요거트
- Today
- Total
SIMPLE & UNIQUE
2-2강 : AWS RDS 서버 기타 설정 본문
2_2 목표 : RDS서버의 설정을 한국에 맞게 변경한다. 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 react.react_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 `react_swtool` VALUES ('USW20200101000000', '툴 이름1', '상세 기능1', '20200101000000_라벨 이미지.png'
, '20200101000000_메인 이미지.png', '설명1', '데모 URL1', '20200101000000_메뉴얼 파일.docx', 'Github URL1'
, '20200101000000', 'userA1`', '20200102000000', 'userB1');
INSERT INTO `react_swtool` VALUES ('USW20200102000000', '툴 이름2', '상세 기능2', '20200102000000_라벨 이미지.png'
, '20200102000000_메인 이미지.png', '설명2', '데모 URL2', '20200102000000_메뉴얼 파일.docx', 'Github URL2'
, '20200102000000', 'userA2`', '20200103000000', 'userB2');
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
강의 문의 : ljung5@naver.com
'탈잉 강의 자료 > 2020_비전공자도 가능한 웹 프로젝트' 카테고리의 다른 글
2-4강 : 파일, 이미지 업로드 구현 (0) | 2020.08.01 |
---|---|
2-3강 : 등록 페이지 구현, INSERT쿼리 실행 (0) | 2020.08.01 |
2-1강 : AWS 회원 가입, RDS 인스턴스 생성, DB 서버 연결 (0) | 2020.08.01 |
1-4강 : AWS DB서버 연결, 데이터 조회해 리스트 페이지에 노출 (0) | 2020.08.01 |
1-3강 : html, css, img파일 세팅, 공공데이터 API 호출 (0) | 2020.08.01 |