-
AWS db와 node.js 연결하기BackEnd/Node.js 2021. 8. 14. 05:11
aws에 올라가있는 db와 node.js db연결하는 방법 포스팅.
* database 비밀번호 등은 보통 .env파일이나 config.json에 숨겨놓는데 gitignore에 반드시 추가해서 github에 안올라가게끔 주의할것!
* 이 포스팅에서는 config.json에 키 값과 aws db 엔드포인트 등을 적어두었다.
* 이미 node에서 sequelize 작성해두었고, db도 다 만들어둔 상태.
1. config.json 파일 작성
"development": { "username": "aws에 올린 이름 admin/root등등...", "password": "각자의 비밀번호" "database": "aws에 있는 db이름", "host": "aws end point", ... }, ...
코드 일부만 가져왔지만, 각자의 환경에 맞게 수정해야할 부분은 위의 적힌 부분만이다.
* username이 아마 aws에서 처음 rds 생성할 때 기본값이 admin인가 그랬던걸로 기억하는데, 각자가 바꿨을 수도 있으니 그걸 적어두면 된다.
* host에 적힌 aws end point 는 aws사이트의 RDS > 데이터베이스 부분의 연결&보안 부분의 엔드포인트를 말한다.
2. app.js
const config = require('./config/config.json'); const mysql = require('mysql2'); /* ... 생략 ... */ const connection = mysql.createConnection({ host : config.development.host, user : config.development.username, password : config.development.password, database : config.development.database });
나는 config폴더를 만들어서 그 안에 config.json파일을 넣어놓았기 때문에 const config = require()안에 들어가는 경로가 위와같다. 따로 폴더를 만들지 않은 ? config.json이라면 ('./config.json')으로 쓰면 된다.
그리고 config.development를 붙여줘야 제대로 읽어올 수 있다. user은 그냥 config.development.user이 아니라 username임에 주의!
3. 테스트
위의 코드(2) 바로 밑에다가 작성했다.
connection.connect(function(err) { if (err) { throw err; } else { connection.query("SELECT * FROM User", function (err, rows, fields) { console.log(rows); }) } });
err가 아니라면 console창에 출력해주게끔 했고, 결과는 잘 나왔다. 저 query안의 쿼리문은 각자의 db 테이블에 맞춰서 바꿔주면 된다. 나의 경우 User 테이블에 임의 값들을 넣어뒀어서 저렇게 썼다.
쓰고보면 별거 아니지만 초보자인 나는 헤맸다.......
앞에 포스팅한 mysql2 이것도 서치하고.. 오늘 하루종일 실수 투성이었지만 뭐 이러면서 배우는거라고 생각하자 ^_^...!
'BackEnd > Node.js' 카테고리의 다른 글
Node.js 스터디 3주차 (0) 2022.02.05 Node.js 스터디 2주차 (0) 2022.01.25 Node.js 스터디 1주차 (0) 2022.01.18 Node.js에서 로그인 기능 구현하기(+github 위키) (0) 2021.08.28 node.js / mysql 연동 에러 errorcode : ER_NOT_SUPPORTED_AUTH_MODE errno : 1251 ... (1) 2021.08.14