기본 콘텐츠로 건너뛰기

NodeJs - MariaDB 연동하기

NodeJs - MariaDB 연동하기

NodeJs에서 마리아 DB를 사용해보자.

1. 마리아DB 설치

마리아DB 홈페이지에서 마리아DB를 설치합니다.

2. DB 및 테이블 생성

테스트 DB와 테이블을 생성한 후 샘플데이터를 Insert합니다.

1 2 3 4 5 6 7 8 9 10 11 12 DROP DATABASE IF EXISTS nodejs_test; CREATE DATABASE nodejs_test; DROP USER IF EXISTS nodejs_admin; CREATE USER nodejs_admin@ '%' IDENTIFIED BY 'admin' ; GRANT ALL PRIVILEGES ON nodejs_test. * to nodejs_admin@ '%' ; USE nodejs_test; DROP TABLE IF EXISTS users; CREATE TABLE users ( user_key INT NOT NULL AUTO_INCREMENT PRIMARY KEY , user_id VARCHAR ( 128 ) UNIQUE NOT NULL ); INSERT INTO users(user_id) VALUES ( 'TEST01' ); cs

3. Nodejs 프로젝트 생성

CMD 혹은 powershell을 실행 후 workspace로 이동합니다.

npm init을 실행합니다.

프로젝트 관련 여러 사항을 묻습니다. 적당히 입력하고 넘어갑시다.

해당 작업을 수행하면 package.json 파일이 입력된 값에 의해 자동으로 생성됩니다.

1 2 3 4 5 6 7 8 9 10 11 12 { "name" : "mariadb-test" , "version" : "1.0.0" , "description" : "mariadb connection testing project." , "main" : "index.js" , "scripts" : { "test" : "echo \"Error: no test specified\" && exit 1" } , "author" : "smoh" , "license" : "ISC" } Colored by Color Scripter cs

4. 커넥터 설치하기

npm install --save mariadb 를 수행하여 마리아DB 커넥터를 설치합니다.

--save를 입력하면 설치한 모듈정보가 자동으로 입력됩니다.

5. NodeJs를 통해 MariaDB 사용하는 코드 작성

커넥터를 사용하는 소스를 작성합니다.

mariaDBConn.js

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 const mariadb = require( 'mariadb' ); const vals = require( './consts.js' ); const pool = mariadb.createPool({ host: vals.DBHost, port:vals.DBPort, user: vals.DBUser, password: vals.DBPass, connectionLimit: 5 }); async function GetUserList(){ let conn, rows; try { conn = await pool.getConnection(); conn.query( 'USE nodejs_test' ); rows = await conn.query( 'SELECT * FROM users' ); } catch (err){ throw err; } finally{ if (conn) conn.end(); return rows[ 0 ]; } } module.exports = { getUserList: GetUserList } Colored by Color Scripter cs

** 접속정보는 별도 모듈에 저장해뒀습니다. 실제 사용시 pool내의 정보를 변경해 주시기 바랍니다.

6. MariaDB 커넥터 모듈을 사용해 유저 리스트를 가져오는 코드 작성

DB에 있는 정보를 가져와 봅시다.

index.js

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 const mdbConn = require( './mariaDBConn.js' ) const express = require( 'express' ); const app = express(); mdbConn.getUserList() .then((rows) = > { console .log(rows); }) . catch ((errMsg) = > { console .log(errMsg); }); const port = process.env.PORT | | 3000 ; app.listen(port, () = > { console .log(`listening on ${port}`); }); Colored by Color Scripter cs

** express 프레임워크를 사용했습니다. 실행전에 express 프레임워크를 설치해 주시기 바랍니다.

7. 실행 및 결과 확인.

실행 결과는 다음과 같습니다.

from http://www.smoh.kr/202 by ccl(A)

댓글

이 블로그의 인기 게시물

[실습]NodeJS + EXPRESS + MySQL 을 이용한 게시판 만들기 3(MVC)

[실습]NodeJS + EXPRESS + MySQL 을 이용한 게시판 만들기 3(MVC) 실습2 이후 나머지 부분들 까지 라우터 모두 작성함 app/routes/posts.js app/controllers/postsController.js 현재까지의 소스 app/models/postsModel.js 현재까지의 소스 from http://thisblogbusy.tistory.com/139 by ccl(A) rewrite - 2020-03-15 09:20:05

AWS instance로 Nodejs 구현하기

AWS instance로 Nodejs 구현하기 서버와 데이터베이스 관리 차원에서 효율적으로 관리하기 위해선 로컬보다는 서버를 호스팅해서 하는 것이 좋다. 우리는 Nodejs를 구동하기 위해 AWS에서 인스턴스를 할당받을 계획이다. 인스턴스의 pem키를 발급받아 nodejs와 npm까지는 설치를 완료한 상태이다. $ sudo npm install -g express 다음의 명령어를 입력하면 글로벌 옵션으로 어느 path에서든 express를 사용할 수 있게 설치한다. 다음과 같이 실행이 된다면 성공이다. 이후 Express generator를 설치한다. $ sudo npm install -g express-generator@4 버전은 4.x이며 이 역시 글로벌 옵션으로 설치해 준다. 이제 Node monitoring을 위해 nodemon을 설치해 준다. $ sudo npm install -g nodemon 모든 설치가 끝났다. 이제 nodejs를 실행시킬 프로젝트용 directory를 만든다. 이렇게 만들어 주고 express를 실행시키면 된다. $ express -e 다음과 같은 결과가 나오면 된다. 이제 node package를 설치하는 명령어를 입력하자. $ sudo npm install 이제 vi를 통해 포트번호를 정의해보자. app.set의 마지막에 한줄을 추가하면 된다. app.set('port', process.env.PORT || 9000); 이로써 우리는 9000번 포트를 사용하게 되었다. 또한 마지막줄에 서버를 생성하기 위한 코드를 작성하자. module.exports = app; var server = app.listen(app.get('port'), function() { console.log('Express server listening on port ' + server.address().port); }); 이