Amazon RDS?
- Amazon Relational Database Service
- 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있는 관리형 서비스 모음
- 더 쉽게 이야기하면, 데이터베이스를 클라우드에 올리는 느낌
- 팀 공동 작업을 위해 Amazon RDS가 필요
Amazon RDS 생성 방법
① AWS(Amazon Web Service) 사이트 접속
② 무료 계정 생성 버튼 클릭
③ 계정 생성 1단계 : 이메일 주소 및 암호 설정
- 루트 사용자 이메일 주소는 분실하거나 유출되면 안된다.
- 루트 사용자 이메일 주소와 AWS 계정 이름을 모두 입력 후 [Verify email address] 버튼을 클릭한다.
- 이메일 인증 번호 입력 후 [Verify] 버튼 클릭
- 본인의 암호를 입력 후 [Continue (step 1 of 5)] 버튼 클릭
③ 계정 생성 2단계 : 연락처/주소 정보 입력
- 전체 이름 / 주소 라인 1 / 주소 라인 2 / 시 / 시,도 또는 리전 은 모두 영어로 입력한다.
- 국가 코드는 +82 , 국가 또는 리전은 대한민국으로 한다.
- 영문주소변환 사이트 : https://www.jusoen.com/
영문주소변환
지번주소,신주소 등의 한글주소를 영문주소 변환 해주는 영어주소검색,영문주소변환기
www.jusoen.com
③ 계정 생성 3단계 : 결제 정보 입력
③ 계정 생성 4단계 : SMS/음성 통화 인증
③ 계정 생성 5단계 : 플랜 설정
④ RDS 생성하기
- 리전 변경 : 아시아 태평양(서울) 로 변경
- 서비스 > 데이터베이스 > RDS 선택
- 대시보드에서 [데이터베이스 생성] 클릭
- RDS 설정
[데이터베이스 생성 방식 선택 , 엔진 옵션]
[템플릿]
[설정 - DB 이름, 사용자 이름, 사용자 암호 설정]
[인스턴스 유형]
- 과금 방지를 위해 db.t3.micro 인스턴스로 설정
[스토리지]
- 과금 방지를 위해 스토리지 용량은 20GiB로 설정, 스토리지 자동 조정 활성화 체크 해제
[데이터베이스 인증]
암호 인증 선택
[모니터링]
[추가 구성]
- 자동 백업을 활성화합니다. 체크 해제
- 혹시 모를 과금을 방지하기 위해 [유지 관리 > 마이너 버전 자동 업그레이드 사용] 체크 해제
페이지 최하단에 [데이터베이스 생성] 버튼 클릭
- 데이터베이스 생성 중
5~10분 정도 기다리면 데이터베이스 생성이 완료된다.
- 데이터베이스 생성 완료
⑤ DB 세부 정보 확인하기 (엔드포인트/포트 번호 확인)
- 데이터베이스에서 DB 식별자의 파란색 밑줄 글씨를 클릭하면 DB 세부 정보를 확인할 수 있다.
- 엔드포인트와 포트로 DB에 접근이 가능하다. 공동 작업 시 이를 공유한다. (엔드포인트와 포트가 유출되면 안되므로 각별히 관리한다.)
⑥ 한글 설정
- Amazon RDS > 파라미터 그룹 > 파라미터 그룹 생성
- 파라미터 그룹 생성
파라미터 그룹 이름 : korean
설명 : korean setting
엔진 유형 : MySQL Community
파라미터 그룹 패밀리 : mysql8.0
유형 : DB Parameter Group
- 파라미터 그룹 세부 정보 페이지로 이동
파라미터 그룹 > 파라미터 클릭(파란색 밑줄 글씨)
- 파라미터 편집 페이지로 이동
우측 상단 [편집] 버튼 클릭
- 파라미터 그룹 편집 1
파라미터가 char로 시작하는 것에 한해서 그 파라미터 값을 utf8 으로 변경
변경 사항 저장 버튼 클릭
- 파라미터 그룹 편집 2
파라미터가 collation_ 으로 시작하는 것에 한해서 그 파라미터 값을 utf8_general_ci 으로 변경
변경 사항 저장 버튼 클릭
- 데이터베이스 세부 정보 페이지로 이동
Amazon RDS > 좌측 탭에서 데이터베이스 > 파란색 밑줄 버튼 클릭
- 데이터베이스 세부 정보 페이지 에서 수정 버튼 클릭
- 데이터베이스 옵션 > DB파라미터 그룹 을 기존에 만들었던 그룹으로 선택 > 최하단 계속 버튼
- 수정 예약은 "즉시 적용" 으로 선택 > DB 인스턴스 수정 버튼 클릭
- DB인스턴스 수정 완료
⑦ MySQL RDS 서버 접속
- cmd 창 열기 (관리자모드로 실행)
- cmd 창에서 아래 명령어 입력
mysql -h [엔드포인트 주소] -u [마스터 사용자 이름] -p
# 이후 패스워드 입력
[마스터 암호]
- 오류 발생 확인
ERROR 2003 (HY000): Can't connect to MySQL server on '[엔드포인트 주소]' (10060)
- 이 에러는 AWS 네트워크 규칙이 MySQL 클라이언트가 실행되고 있는 호스트에 도달할 수 없기 때문에 발생하는 것이다. 따라서, RDS 보안 그룹의 IP 주소를 등록하여, RDS MySQL 인스턴스에 액세스 권한을 주는 작업이 필요하다.
- 오류 해결
데이터베이스 세부 정보 페이지에서 연결&보안 > 보안 > VPC 보안 그룹 부분의 파란색 글씨 클릭
보안 그룹 이름이 default인 보안 그룹을 체크 > 인바운드 규칙 > 인바운드 규칙 편집 버튼 클릭
기존에 있는 보안 그룹 규칙 삭제
[규칙 추가] 버튼을 클릭하여 2개의 규칙을 추가
유형 : 모든 트래픽 / 소스 : Anywhere-IPv4
유형 : 모든 트래픽 / 소스 : Anywhere-IPv6
완료 후 [규칙 저장] 버튼 클릭
인바운드 보안 그룹 규칙 수정 완료
- cmd 창 열기 (관리자모드로 실행)
- cmd 창에서 아래 명령어 입력
mysql -h [엔드포인트 주소] -u [마스터 사용자 이름] -p
# 이후 패스워드 입력
[마스터 암호]
- 정상 연결 확인
⑧ MySQL 명령어
0. MySQL Workbench 접속
- MySQL Workbench을 키고 > Database > Connect to Database...
- Hostname에 Amazon RDS 엔드포인트 주소 입력
- Username에 Amazon RDS 마스터 사용자 이름 입력
- Default Schema에 Amazon RDS DB 인스턴스 식별자 입력 (필수X)
1. database / table 조회
# 현재 MySQL 서버에 있는 모든 Database를 조회
show databases;
# ‘checkmate’ 데이터베이스를 사용
use checkmate;
# 현재 checkmate 라는 Database에 있는 모든 table을 조회
show tables;
2. table 생성
- MySQL Workbench 에서 테이블 생성 버튼 클릭
- 테이블 이름과 칼럼 정보 입력 후 테이블 생성
3. table에 데이터 넣기(INSERT)
아래와 같이 INSERT INTO [테이블명] (칼럼명1, 칼럼명2 ...) VALUES (값1, 값2 ....); 구문을 적으면 된다.
INSERT INTO Quiz (QZ_NO, QZ_CATEGORY, QZ_CONTENT, QZ_ANSWER, TIME_LIMIT)
VALUES (default, 1, '현석이가 제일 좋아하는 것은?', '커비', 30);
Tip) INSERT 구문을 까먹었을 때
Mysql Workbench에서 데이터를 삽입할 테이블 우클릭 > Send to SQL Editor > Insert Statement
4. table의 데이터 조회하기(SELECT)
select [조회할 칼럼명] from [조회할 테이블명];
select * from Quiz; #Quiz 테이블의 모든 칼럼(*)을 조회한다.