RDS는 AWS에서 제공하고 있는 관계형 데이터베이스이다.
AWS Management Console에서 RDS로 서비스로 이동할 수 있다.
위와 같은 설정만 해주면 데이터베이스가 저장될 때 문자열이 깨지는 문제는 발생하지 않는다.
아무 것도 생성이 안되어 있으면 DB 인스턴스 항목이 0개로 표시된다. 데이터베이스를 생성하려면 접속해서 바로 보이는 대시보드에서 데이터베이스 생성을 클릭해도 되고 왼쪽의 메뉴의 데이터베이스로 이동하여 데이터베이스 생성을 클릭하여 생성해도 된다.
표준생성을 선택하고 MySQL선택 버전은 기본 설정되는 버전으로 사용
템플릿은 프리티어를 선택한다. 750시간 무료로 이용할수 있는 옵션이다. DB인스턴스 식별자는
이름을 넣어준다.
암호는 터미널에서 RDS의 mysql에 접속할 때 사용하게 되는 비밀번호이다.
너무 단순하고 쉽게 만들면 해킹의 우려가 있으니 주의해서 생성한다.
프리티어를 선택했기때문에 기본적으로 설정하는 값으로 둔다.
스토리지 자동 조정은 체크하지 않는다. 과금될 수도 있다.
AWS에서 기본으로 제공하는 VPC로 자동 설정되어 있다.
서브넷 그룹도 선택 옵션은 하나밖에 없기때문에 그대로 둔다.
퍼블릭엑세스는 예로 선택해야 데이터베이스를 서버와 연결할 수 있다.
기존에 생성해놓은 것이 없다면 새로 생성해야한다.
그 외에 내용은 그림과 같이 설정해준다.
추가구성에서 초기 데이터베이스의 이름은 굳이 설정해주지 않아도 된다.
DB파라미터 그룹은 앞서 설정해놓았던 설정 값으로 선택해준다.
자동백업 활성화는 체크하지 않는다. 역시 과금될 수도 있다.
삭제 방지 활성화에 체크해놔야 실수로 디비를 지우는 일을 방지할 수 있다.
삭제시에는 이 부분을 비활성화로 해야 디비를 삭제할 수 있다.
처음에 데이터베이스가 생성되면 아이피주소가 내가 위치한 곳의 아이피주소로 되어있다.(집 또는 회사 등..) 이 아이피를 통해서만 데이터베이스에 접근할 수 있는데 데이터베이스는 최소한의 접근만 허용해야하기 때문에 특정 아이피 주소만을 허용하는 것이 안전하나 우리의 프로젝트시에 편의성을 위해 인바운드 규칙을 수정해준다. 작업이 완료된 후에 이 부분의 아이피 주소를 꼭 변경해놔야한다.
인바운드 규칙에 접속하여 위치무관으로 변경하고 규칙을 저장한다.
또한 아이피주소를 특정주소로 한다면 서버와 데이터베이스의 연결시에도 별도의 설정이 필요하므로 번거로워지는 단점이 있다.
이렇게 데이터베이스가 생성이 되었으면(생성되는데 몇분의 시간이 소요된다.) 로컬에서 작업한 데이터를 RDS에 있는 데이터베이스에 넣어주는 작업을 해야한다.
mysql -h RDS데이터베이스 엔드포인트 -u root -p
엔드포인트는 내가 생성한 데이터베이스를 클릭해서 접속하면 아래와 같이 확인할 수 있다.
비밀번호는 데이터베이스를 설정하면서 생성한 비밀번호이다.
나의 로컬 데이터베이스와 다른 점을 확인하려면 show databases;
명령을 통해 확인할 수 있다.
로컬에 있는 데이터베이스를 옮기위해서 데이터베이스를 생성해줘야 한다.
create database 데이터베이스이름 character set utf8mb4 collate utf8mb4_general_ci;
이렇게 생성해놓고 내 데이터베이스에서 데이터를 복사한다.
mysqldump -u root -p 데이터베이스명 > 데이터베이스명.sql
위치해 있는 폴더에 데이터베이스명.sql
이 생성된 것을 확인할 수 있다.
vim 데이터베이스명.sql
파일을 열어보면 저장된 데이터를 확인할 수 있다.
이제 이 데이터를 RDS의 데이터베이스에 넣는다.
mysql -h RDS데이터베이스 엔드포인트 -u root -p 데이터베이스명 < 데이터베이스명.sql
다시 RDS의 mysql에 접속하여 아래와 같은 명령들을 통해 데이터베이스를 확인해볼수 있다.
show databases;
use 데이터베이스명
show tables;
select * from 테이블명;