[ 잡담 ]

 

RDS(Relational Database Service)란 말 그대로 관계형 데이터베이스를 대여해주는 AWS의 서비스다. AWS에서 주로 사용자들이 사용하는 데이터베이스 서비스는 RDS와 DynamoDB일 것이다. DynamoDB는 비 관계형(NoSQL) 데이터베이스로 RDS와는 다른 성격을 띠고 있다. 

관계형 데이터베이스와 비 관계형 데이터베이스에 대해서는 나중에 따로 정리하는 걸로 하고 정말 간단하게 알아보자.

http://help.hancom.com/hoffice/multi/ko_kr/cell/menu/edit/change_rowcolumn.htm

관계형 데이터베이스는 위 엑셀 표처럼 Banana, Cherry, Melon, Peach라는 칼럼이 정해져 있는 데이터베이스 형태를 말한다. May행을 추가한다고 하면 Banana, Cherry, Melon, Peach에 관한 데이터만 입력할 수 있다.
하지만 비 관계형 데이터베이스는 정해진 칼럼이 없다. May행이 Banana, Cherry, Kiwi에 대한 데이터를 입력할 수 있다. 

칼럼이 기준이 되어 테이블마다 관계를 가질 수 있냐 없냐 따지는 것이 두 구조의 차이라고 생각한다.

자세한 내용은 나중에 더 공부해서 따로 작성하겠다.

 

[ 본론 ]

 

이번 글에서는 RDS 인스턴스 생생과 접속을 해보자.

목차

  • 1. 데이터베이스 생성
  • 2. 데이터베이스 접속
    • 퍼블릭 액세스 허용해주기
    • 보안 그룹 인바운드 포트 열어주기
    • 접속

 

1. 데이터베이스 생성

 

 먼저 리전을 잘 확인하자. 나는 서울에 데이터베이스를 생성할 것이기 때문에 서울을 선택하고 데이터베이스 생성 버튼을 클릭한다.

 

RDS는 다양한 관계형 데이터베이스를 지원한다. 나는 가장 흔하게 쓰이는 MySQL을 선택하고 버전은 디폴트 값을 사용하겠다.

템플릿에 프로덕션으로 디폴트 값으로 맞춰져 있을 텐데 이대로 만들면 한 달 뒤 돈이 청구되는 것을 볼 수 있다. 무료로 사용하고 싶다면 프리 티어를 선택하도록 하자.

DB이름은 그냥 말 그대로 DB 인스턴스 이름이기에 이쁘게 지어주면 되고 "마스터 사용자 이름", "마스터 암호"는 접속하는데 꼭 필요한 정보이기 때문에 꼭 기억을 해 두던지 기록을 해주자.

다른 부분은 건드릴 것이 없어서 데이터베이스 생성 버튼 클릭!

 

생성 중이다. 시간이 몇 분 걸린다. 기다리자.

이제 사용 가능한 데이터베이스를 생성했다.

 

2. 데이터베이스 접속

데이터베이스를 생성했다고 해서 바로 접근할 수 없다. 데이터베이스에 원격으로 접속하기 위해서는 몇 가지 해야 할 것들이 있다.

 

먼저 우리가 생성한 데이터베이스의 상세정보를 보기 위해 클릭하자.

 

1. 퍼블릭 액세스 허용해주기

 

수정을 클릭한다.

 

네트워크 및 보안에서 퍼블릭 액세스 가능성을 "예"로 변경하고 저장하자.

 

즉시 적용을 선택하고 수정 버튼을 누르면 끝이다.

*수정되는데 시간이 몇 분 소요된다.

 

2. 보안 그룹 인바운드 포트 열어주기

보안 그룹의 인바운드 설정으로 3306 포트를 열어줘야 접속이 가능하다.

 

보안 그룹 클릭!

 

보안 그룹 ID 클릭!

 

인바운드 규칙 편집 클릭!

 

MYSQL/Aurora를 선택하면 포트는 자동으로 설정되고 보안에 따라 위치 무관, 특정 IP만 설정해주면 된다. 그리고 규칙 저장!

 

3. 접속

데이터베이스에 접속하는 방법은 다양하다.

나는 보통 MariaDB를 설치하면 자동으로 설치되는 heidisql라는 프로그램을 사용한다.

www.heidisql.com/download.php

 

Download HeidiSQL

Ads were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead. Download HeidiSQL 11.0 Release date: 17 Mar 2020. Installer, 32/64 bit combined Portable versi

www.heidisql.com

혹시나 사용할 사람을 위해서 다운로드 링크를 남겨놓는다.

 

먼저 접속하는 주소를 알아야 한다. 엔드포인트가 그 주소가 되겠다.

 

호스트명에는 엔드 포인트를 입력하면 된다. 데이터베이스를 생성할 때 지정한 사용자 이름과 암호를 입력하고 열기 버튼을 누르면 끝.

 

쫘좐! 너무나 잘 접속된 것을 확인할 수 있다.

RDS의 세팅을 마치고 사용을 할려고 하면 발목을 잡는 것이 한글 깨짐이다.

구글링하면서 여러가지 해봤지만 해결되지 않았다.

일반적으로 구글링하면 나오는 방법부터 내가 적용한 방법까지 적어보겠다.

1. 구글링하면 나오는 첫번째 방법

나는 파라미터를 새로 생성하지 않고 기존 파라미터를 수정해서 사용할려고 했지만 기존 파라미터는 수정이 불가능했다.
꼭 아래와 같이 파라미터 새로 생성 -> 편집 -> 적용 순서로 해주자.

1-1

파라미터 그룹을 선택한다.

1-2

그룹 이름과 설명을 대충 넣고 생성한다.

1-3

해당 파라미터에 들어가서 검색창에 character_set을 입력하면 나오는 친구들의 값을 전부 UTF8 로 변경해주자.

character-set-client : utf8
character-set-connection : utf8
character-set-database : utf8
character-set-filesystem : utf8
character-set-results : utf8
character-set-filesystem : utf8

1-4

그리고 DATABASE 수정에 들어가면 파라미터 그룹을 변경하고 DB를 재부팅하면 끝이다.

 


 

2. 구글링하면 나오는 두번째 방법

그럴 경우에 파라미터에서 collation을 검색해서 나오는 값들 또한 변경해주면 된다는 말이 있어서 해봤다.

collation_connection : utf8_general_ci
collation_server : utf8_general_ci


3. 나를 구원해준 마지막 방법

mysql 쿼리로 

alter database DB_NAME default character set utf8 collate utf8_general_ci;

이거 쿼리로 쏴주니깐 고쳐졌다.

 

출처

https://designdevelop.tistory.com/68

https://designdevelop.tistory.com/68 [DesignDevelop]

+ Recent posts