AWS의 RDS + Mysql + Node.js 연동
1. RDS란
- 정의 : AWS 제공하는 클라우드 시스템안에 있는 DB를 사용하는것
- DB 생성 및 세팅
- aws console에서 RDS 클릭
- 데이터베이스 생성
- 생성화면
- 손쉬운 생성
- 원하는 DB 선택(Mysql)
- DB인스턴스 - 프리티어 선택
- DB인스턴스 식별자 - 원하는 DB 명 입력
마스터 이름
: DB root user 아이디 (중요!!)마스터 암호
: DB root user 비밀번호 (중요!!)
- DB 생성 완료
- DB 수정
- 보안그룹 설정 : 방화벽과 같은 느낌
- 퍼블릭엑세스 : 아니오 => 예로 변경
- 수정완료
2. Nods로 연결
-
사용 패키지 : mysql2
-
방법
const mysql = require('mysql2'); // 커넥션 객체 생성 const connection = mysql.createConnection({ host : aws DB endpoint, port : 3306(my sql은 기본 포트), user : 마스터 이름, password : 마스터 비밀번호, database : 사용할 스키마, waitForConnections: true, connectionLimit: 10, queueLimit: 0 }); // 커넥션 객체를 통해 데이터 컨트롤 connection.query( 'SELECT * FROM `table` WHERE `name` = ? AND `age` > ?', ['Page', 45], function(err, results) { console.log(results); } );
3. 한글 오류에 따른 해결방법
- RDS - 파라미터 그룹
- 파라미터 그룹 생성
- 생성한 파라미터 클릭
- character_set 검색하여 파라미터 편집
- 값 => utf -8
- 데이터베이스 수정하여 생성한 파라미터 그룹으로 변경
- 재부팅!!!!
4. 결론
- aws에서 제공하는 db를 언제어디서나 사용할수있다는 장점
- 나같은 사람들을 위해 필요한 포스트를 계속 쓰자