RDS 생성
먼저 AWS 검색창에 RDS를 검색해줍니다.
왼쪽 탭에 '데이터베이스'를 선택 후 오른쪽에서 데이터베이스버튼을 누릅니다.
원하는 DB를 선택합니다.
자기가 선호하는 DB를 선택하면 되지만 여기서는 mariaDB를 선택하겠습니다 .
mardiaDB의 버전과 템플릿을 선택합니다.
버전은 특별히 원하는 버전이 있으면 해당버전을 선택하고
그렇지 않은 경우는 기본 버전을 사용합니다.
템플릿은 역시 프리티어!
설정은 다음과 같이 설정한다.
여기서 설정한 것이 나중에 DB에서 연결할 때의 username과 password가 된다.
(workbench에서 접속할 때의 예시)
이후 데이터베이스 생성버튼을 눌러 DB를 생성해줍니다.
RDS 파라미터 설정하기
RDS에서 설정해야할 파라미터는 다음과 같습니다.
- 타임존
- Character Set
- Max Connection
먼저 왼쪽 탭에서 파라미터 그룹을 누른 후
오른쪽의 파라미터 그룹 생성버튼을 누릅니다.
파라미터 그룹 패밀리는 아까 생성했던 mariaDB 버전에 맞게 선택하고
이름은 역시 ch로 하겠습니다.
생성된 파라미터그룹을 선택합니다.
파라미터 편집버튼을 선택합니다.
편집모드로 되었다면 설정값들을 변경해 줍니다.
- 타임존
- Character Set
- Max Connection
세 개의 설정값들을 변경해줄 겁니다.
먼저 'time_zone'으로 검색하고 Asia/Seoul로 변경해줍니다.
다음으로는 character set 관련사항을 변경해 줍니다.
character set관련사항들은 총 8가지입니다.
- character_set_client
- character_set_connection
- character_set_databse
- character_set_filesystem
- character_set_results
- character_set_server
- collation_connection
- collation_server
위의 6개는 character_set 검색 후 utf8mb4로,
밑의 2개는 collaction 검색 후 utf8mb4_general_ci로 변경해줍니다.
utf8mb4는 utf8이랑 비슷하지만 이모지도 저장할 수 있습니다.
(utf8로 해도 전혀 상관없습니다. 그래도 귀여운 이모지를 언젠가 저장할 수도 있으니까..)
마지막으로 Max Connection을 수정합니다.
파라미터와 RDS 연결하기
방금 생성한 파라미터와 RDS를 연결합니다.
먼저 다음과 같이 DB의 수정버튼을 누릅니다.
파라미터 그룹 항목에서 방금 만들었던 ch 파라미터를 선택합니다.
이후 수정사항을 즉시 적용합니다.
간혹 변경 사항이 적용되지 않을 경우도 있기때문에 재부팅을 한번 해줍니다.
이렇게 데이터베이스 생성과 파라미터 설정이 끝났습니다.
Local PC와 EC2에서 RDS에 접속해보기
연결 전 보안 설정
먼저 보안그룹 생성을 해줍니다.
보안그룹 생성에서 내 현재 로컬PCIP와 EC2와 연결된 보안그룹을 인바운드에 추가해줍니다.
RDS 데이터베이스에서 데이터베이스를 수정합니다.
여기서 위에서 만든 RDS보안그룹을 연결해줍니다.
또 퍼블릭엑세스를 허용해줍니다. 이래야만 외부에서 rds에 접근 가능 합니다.
(수정할 때 꼭 수정사항 즉시 반영 해줍니다.)
이렇게 로컬IP와 EC2를 RDS에 연결할 준비를 끝냈습니다. 이제 직접 연결해봅시다.
로컬IP에서 연결하기
RDS의 데이터베이스에서 엔드포인트를 복사해줍니다.
workbench에서 Hostname에 엔드포인트 복사,
username과 password에는 아까 만들 때 작성한 것을 입력합니다.
그 후Test connection을 해봅니다.
어떤 툴을 사용해서 사용하든 DB에 연결만 하면 됩니다.
연결이 안되는 경우 몇 가지 사항을 체크해봅니다.
- 보안그룹이 제대로 설정 안된경우
- RDS 데이터베이스에서 퍼블릭엑세스 허용x
- 연결이 바로 안되고 한 15초 뒤에 unnable to connect to localhost - 비밀번호 틀린 경우 - access denined for user
- 설정은 문제없이 잘 했지만, 수정사항이 즉시 반영이 안된 경우
연결 테스트에 성공하면 다음과 같은 화면이 나옵니다.
이제 직접 연결해봅시다.
연결해서 ch 스키마를 선택해줍니다.
이제 명령창에 다음과 같이 입력합니다. ch 스키마를 사용하겠다는 명령어입니다.
Use ch; -- RDS에서 만들 때 설정한 DB 이름
RDS만들 때 파라미터 설정한 것들을 확인해줍니다.
Show Variables Like 'c%';
character_set_database, collation_coonection이 변경되지 않았을 겁니다.
(RDS mysql버전에 따라 변경됬을 수도 있습니다.)
어쨋든 다음의 명령어를 통해 변경해주면 됩니다.
Alter database ch character set='utf8mb4' collate='utf8mb4_general_ci';
다시 한번 Show Variables 명령어를 통해 잘변경됐는지 확인해줍니다.
Show variables like 'c%';
이번엔 Time_zone을 확인해봅니다. (파라미터설정에서 변경한 값.)
마지막으로 한글명이 잘 들어가는지 간단한 테이블생성과 insert 쿼리를 실행해 봅니다.
이렇게 로컬에서 RDS에 접속하고 여러가지 설정이 잘 설정됐는지 확인해보았습니다.
EC2에서 연결하기
putty를 이용해 EC2에 접속합니다.
다음의 명령어를 입력합니다.
sudo yum update
update가 잘 되었다면 MySQL CLI를 설치합니다.
sudo yum install mysql
설치가 완료되었다면 다음의 명령어를 입력해줍니다.
mysql -u 계정 -p -h RDS의 호스트주소(엔드포인트)
mysql -u ch -p -h ch.~~~~~~~~~~~~~~.rds.amazonaws.com
그리고 패스워드를 입력하면 다음과 같이 mysql에 접속 할 수 있습니다.