Mysql + node with .env

오버·2022년 8월 18일
0

Node.js Study

목록 보기
16/22

반갑습니다. 오랜만에 돌아왔습니다. 방학을 보내면서 여러가지 일들이 있었는데 오늘은 그 중에 하나였던 mysql을 연동함에 있어서 제가 해맸던 점을 포스팅을 할려고 합니다.

mysql과 연동 해보자

자 mysql과 연동하는 법은 엄청나게 간단합니다. 개인적으로는 mongoose 보다 mysql 모듈이 더 쉽고 잘 되어있어서 편했습니다.

npm install mysql --save

뭐... 항상 그렇듯이 mysql 연동을 위해 모듈을 설치 해줍니다.

'--save'는 package.json에 의존성(dependency) 부분에 mysql 모듈을 버전과 함께 입력 됩니다.

자 이제 깔렸으면 mysql 모듈을 require 해주시면 됩니다.

const mysql = require('mysql');

그럼 이제 mysql 모듈을 불러온 것입니다.

.env 환경 변수를 사용 해보자

프로젝트를 진행할때 가장 중요한 것은 기밀유지입니다. 아무리 좋은 제품이라도 보안이 허술하면 오래가지 못할 것입니다. 특히 db를 연동할때는 db의 패스워드를 요구하는 경우가 많습니다. 그럼 우리는 이런 중요한 정보를 남에게 노출되지 않도록 환경 변수를 사용하여 코딩을 할 수 있습니다.

vscode에 .env 파일을 만들어줍니다.
그리고 여러분들이 설정한 mysql 패스워드를 .env 파일에 입력하여 환경 변수로 지정할 것입니다.

MYSQL_PASSWARD = 'mysql 워크벤쳐에서 설정한 비밀번호'

.env에 변수를 선언할때는 되도록 대문자로 선언해줍니다.

그리고 이 파일을 깃에 올릴때 .gitignore에서 .env를 선언해줌으로써 환경 변수 파일이 노출되는 일이 없도록 해줍시다.

연동 코드를 알아보자

이제 중요한 .env도 알아보았고 mysql 모듈도 설치했으니
실질적으로 연결하는 법을 알아봅시다.

아 그전에 .env 파일을 사용하기 위해서는

npm install dotenv --save

dotenv라는 모듈을 설치 해줘야합니다.

그럼 dotenv도 설치했다는 가정하에 연결 코드를 알아보자면~

const mysql = require('mysql')
require('dotenv').config();
const require
const connection = {
    host: '127.0.0.1',
    port: '3306',
    user: 'root',
    password: process.env.MYSQL_PASSWARD,
    database: 'test'
}

이렇게 됩니다.

mysql 워크벤쳐를 이용하면 host와 port를 간단하게 확인하실 수 있으니 mysql 워크벤쳐를 애용합시다~

connection.connect((err) => {
	if(err) {
    	console.log(err)
    }
    else {
    	console.log('mysql connecting...')
    }
})

그럼 이제 마무리로 연동이 잘 되었는지 확인 해봐야겠죠??

위의 connect라는 함수를 이용하여 mysql이 연동 되었는지 확인 해주시면 됩니다.

err가 있으면 console에서 err 메세지가 보일 것이고

연동이 잘 되었다면 콘솔에 mysql connecting...이라는 문구가 뜨며 정상적으로 연결 되었다는 것을 확인 시켜줄 것입니다.

마치며...

다음 시간에는 mysql crud를 알아보겠습니다.
그리고 다음 시간에서는 워크벤쳐에서 mysql 코드를 작성하여 test 테이블을 만들어서 진행 하도록 하겠습니다.

긴 포스팅 읽어주셔서 감사합니다. bye bye

profile
개발자

0개의 댓글