プロメモグラム

誰が見てもわかるような文章を目指す

CentOS6にnode + mysql

インストール

  • Nodeのインストール
$ sudo yum install epel-release
$ sudo yum install node npm
  • MySQLのインストール
 $ sudo yum install mysql-server mysql
 $ sudo service mysqld start # サービス起動
 $ sudo ckconfig mysqld on # 自動起動
 $ npm install mysql

MySQL設定

データベース、テーブルを作成し1列挿入しておく

set password = password('パスワード');

create database node
use node

create user 'node'@'localhost' identified by 'secret';
grant select , insert , update on node.* to node;

create table Position (
 student_id int auto_increment primary key,
 latitude Decimal(10,7)  ,
 longitude Decimal(10,7) ,
 altitude Decimal(10,7) ,
 message char(100)
 )
 
insert into Position (latitude , longitude , message ) values (41.1 , 135.5 , "メッセージ");

コードを作成

/* app.js */
var mysql = require('mysql');

var connection = mysql.createConnection({
 host     : process.env.DB_HOST || 'localhost' ,
 user     : process.env.USER    || 'root' ,
 password : process.env.DB_PASS || 'vagrant' ,
 database : process.env.DB_NAME || 'node'
});

connection.query('select * from node.Student' , function(err , rows) {
 if(err != null) {
        console.log("Error");
 }
 console.log(rows);
});

nodeを実行し、接続できることを確認.とりあえずrootでやってしまった。

# node app.js

実行結果

[ { student_id: 1,
    latitude: 41.1,
    longitude: 135.5,
    message: 'a?!a??a?≫a??a?,' } ]

結果がJSONで入ってくるようだが文字化けしていたので、文字コードの設定をする必要がある。