Node.js에서 MySQL을 활용하는 방법

13362 단어 Node.jsMySQL
Node.js에서 MySQL을 사용하는 방법을 설명합니다.

전제 조건


다음 전제하에서 절차를 기재하다.
사용할 MySQL의 저장 위치:localhost
사용자 만들기: 아니요 de
비밀번호:pw

단계


데이터베이스를 만듭니다.

CREATE DATABASE yamamoto;

데이터베이스 생성 결과를 확인합니다.

show databases;

제작된 DB를 활용할 수 있도록

use yamamoto;

테이블을 만듭니다.

CREATE TABLE pet (name VARCHAR(20), birth DATE, death DATE);

테이블의 생성 결과를 확인합니다.

show tables;

테이블 정의를 확인합니다.

describe pet;

예제 레코드를 등록합니다.

insert into pet (name,birth) values ('hana',20180929);

등록 결과를 확인합니다.

select * from pet;

사용자를 생성합니다.


사용자 생성 명령
create user 'node'@'localhost' identified with mysql_native_password by 'pw';
사용자를 만들 때 "mysql_native_password"를 부여하지 않으면 다른 시스템에서 만든 사용자는 접근할 수 없기 때문에 부여해야 합니다.

사용자가 생성되었는지 확인합니다.

SHOW GRANTS for 'node'@'localhost';

참조 가능 등가 테이블을 지정합니다.

GRANT ALL ON yamamoto.* to node@localhost;

승인 결과를 확인합니다.

SHOW GRANTS for 'node'@'localhost';

node.js에 아래의 프로그램을 기록합니다.

var http = require('http');
var fs = require('fs');
var querystring = require('querystring');
var path = require('path');
var url = require('url');
var mime = {
    ".html": "text/html",
    ".css": "text/css"
    // 読み取りたいMIMEタイプはここに追記
};
// requireの設定
var mysql = require('mysql');

// MySQLとのコネクションの作成
var connection = mysql.createConnection({
    host: 'localhost',
    port: 3306,
    user: 'node',
    password: 'pw',
    database: 'yamamoto'
});

var server = http.createServer(function (req, res) {

    console.log('req.url : ' + req.url);
    console.log('req.method : ' + req.method);

    if (req.url === '/' && req.method === 'GET') {
        // 接続
        connection.connect(function (err) {
            if (err) {
                console.error('error connecting: ' + err.stack);
                return;
            }
            console.log('connected as id ' + connection.threadId);
        });

        // userdataの取得
        connection.query('SELECT * from pet;', function (err, rows, fields) {
            if (err) { console.log('err: ' + err); }

            console.log('name: ' + rows[0].name);
            console.log('birth: ' + rows[0].birth);
            console.log('death: ' + rows[0].death);

        });
        // 接続終了
        connection.end();
        res.end('OK');

    }
});

// localhostの8000番ポートでサーバーを起動する
var port = process.env.PORT || 8000;
server.listen(port, function () {
    console.log("To view your app, open this link in your browser: http://localhost:" + port);
});

node.js를 시작합니다.


시작 후 MySQL에서 값을 가져온 결과는 다음과 같습니다.

좋은 웹페이지 즐겨찾기