본문 바로가기

IT/nodejs

nodejs mysql 연결

반응형

최초 접근 시 mysql connection을  설정해서 확인을 해보자

경로 : app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var mysql = require('mysql');  //추가

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

mysql 모듈을 호출해보자

mysql 패키지 모듈이 없다면 

mysql 패키지 모듈이 없음 :(

mysql 모듈 npm 이용해서 모듈을 설치하자

npm i --save mysql

경로 : package.json

설치된 mysql 버전이 보인다 :)

mysql 연결 후 확인하자^^

파일경로 : app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var mysql = require('mysql');  //mysql 모듈 호출

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

const dbInfo = {    //db정보 객체로 설정
  host:'xxx.xxx.xxx.xxxx'
  ,user:'xxxx'
  ,password:'xxxx'
  ,database:'xxxx'
}

mysql.createConnection(dbInfo).connect((err)=>{ //db 커넥션 연결 확인
  if(err) {
    console.log("mysql connect error "+err);
  } else {
    console.log("mysql connect success ");
  }
})

=============아래내용생략=================

콘솔 연결화면 확인

연결 성공쓰!

DB연결은 데이터 접근 시 다른 모듈에서 빈번하게 사용하므로 모듈로 만들어보자!

config 폴더를 생성해 보자

경로 : /config/db.js

const mysql = require('mysql');

const dbInfo = {
  host:'xxx.xxx.xxx.xxx'
  ,user:'xxxx'
  ,password:'xxxx'
  ,database:'xxxx'
}

let dbcon = {
	init:function() {
		return mysql.createConnection(dbInfo);
	},
	conn:function(con) {
		con.connect(function(err){
			if(err) {
				console.log("mysql connection error :"+err);
				setTimeout(init, 2000);

			} else {
				console.log("mysql connection sucessfully");
			}
		})
	}
}

module.exports = dbcon; //모듈 등록

생성한 db 모듈을 실행해 보자

파일경로 : app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var db = require('./config/db'); //db 연결 모듈 호출

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

var conn = db.init();  //db 모듈 커넥션 실행
db.conn(conn); //db 연결 확인

이전에 작성한 mysql 연결 삭제

------------아래 내용생략-----------------

반응형