RDS란
Relation Database Service의 약자로 AWS에서 제공하는 데이터 베이스 관리 시스템이다. 아마존 클라우드에서 각종 데이터베이스 프로그램을 설정하여 데이터베이스를 생성하고 관리 할수가 있다.
프리티어로 1달동안 750시간의 20GB 까지의 무료 사용이 가능하다.
일단 Database를 만들기 전에 기본 설정을 해야한다. default 설정 값을 사용하여도 가능하지만 charater set과 collate의 인코딩 utf8mb4을 설정을 해야 한글이나 이모티콘이 안정적으로 저장이 가능하다.
utf8 또한 한글과 이모티콘을 지원하는 인코딩이지만 mysql 데이터베이스 상에서는 이모티콘을 지원이 되지 않는 오류가 발생, 이를 보완하기 위한 인코딩 방식이 utf8mb4이다.
우선 AWS 회원가입후 RDS를 검색하여 파라미터 그룹 항목을 클릭한다.
그룹생성 클릭
<mysql version check commands>
terminal ---> mysql -version 혹은 mysql -V
mysql ---> select version();
"상단 검색창에 character_set과 collation을 검색하면 쉽게 찾을수가 있다"
- chracter_set_client
utf8mb4로 변경- chracter_set_connection
utf8mb4로 변경- chracter_set_database
utf8mb4로 변경- chracter_set_results
utf8mb4로 변경- chracter_set_server
utf8mb4로 변경- collation_connection
utf8mb4_general_ci로 변경- collation_server
utf8mb4_unicode_ci로 변경
수정이 완료되면 변경사항 미리보기를 마치고 변경사항 저장을 한다.
RDS메인에서 Database 생성을 누르시고
표준생성과 mysql을 설정한다. 다른 데이터베이스 프로그램들은 AWS에서 지원하는 다양한 DB 플랫폼이다.
나머지는 기본값으로 두고 템플릿만 프리티어로 바꾼다
이를 설정함으로 무료로 경험할수가 있다.
해당 프로젝트 데이터베이스로 이름 바꾸어 준다.
마스터 id와 패스워드 설정(8자 이상)
로컬 mysql과 상관없이 새로 설정해주면 된다. 이 계정과 비밀번호는 AWS mysql에서 사용됨)
스토리지에서는 나머지 기본값 유지, 자동 조정 활성화 해제
기본 제공되는 데이터베이스를 다 사용할 일은 없겠지만 혹시나 모를 과금을 피하기 위해
퍼블릭 access 예로 변경하여 외부에서도 접근 가능하게 설정
VPC보안 새로 생성을 선택하여 새 VPC 보안 그룹 이름을 설정한다(프로젝트이름-rules)
가용 영역은 EC2에서 설정한 a로 선택
추가구성을 클릭하여 초기 데이터 베이스는 로컬이나 설정할 데이터베이스와 동일하게, 파라미터 그룹은 이전에 생성한 파일.
이후 삭제 방지 활성화만 설정한 후 기타 과금 대상이 되는 설정값을 잘읽어보고 생성을 하면 된다.
새로 생성된 데이터베이스는 완료되는데 까지 조금의 시간이 소요될수도 있다.
생성이 완료되면 클릭하여 엔드포인트에 주소값을 복사하고 터미널에
>> mysql -h (엔드포인트 주소) -u (master계정) -p
를 입력한 후 설정된 비밀번호를 입력하여 데이터베이스에 접근할수가 있다. 이는 로컬 mysql와 다른 AWS에서 관리하는 mysql 데이터 베이스이다.
새데이터 베이스를 만들었다면 기존에 있는 로컬 데이터 베이스를 옮기는 방법이다.
로컬로 돌아가 터미널에
>> mysqldump -u root -p (DB이름) > (DB이름).sql
입력하여 기존 DB의 백업파일을 만든다.
다시 AWS RDS에 dump파일을 밀어 넣기 위해
AWS RDS에 접속하여 Database를 생성한다.
mysql
>> create database (DB이름) charater set utf8mb4 collate utf8mb4_general_ci;
밀어 넣기 위해 mysql에서 나와서
>> mysql -h (엔드포인트) -u (master계정) -p (생성DB이름) < (dumpDB이름).sql
를 입력하여 덤프 파일을 새로 만든 데이터베이스에 입려 주면된다.