node.jsでmysqlに接続するメモ

 

環境

  • Node.js
  • nodejs
  • Node
  • JavaScript
  • JSON
  • package.json
  • MySQL
  • npm
  • さくらVPS

ディレクトリの状況

node.jsでmysqlを使う方法をメモっておきます。最小限です。下記はディレクトリの状況。サーバーはアパッチを使っています。

# pwd
/var/www/html/node_test_folder

# ls
node_modules  node_test.js  package.json

package.jsonを書く

node.jsの機能を拡張してnode.jsでmysqlを使えるようにします。package.jsonを下記のように書いてnpm installを実行すればディレクトリにnode_modulesが出来ます。これでnode.jsからmysqlを使うことができるようになります。

{
  "dependencies": {                                                               
    "mysql": "*" 
  }
}

mysqlのホストを確認

 

mysql> show variables like 'hostname';

node.jsからmysqlに接続するために僕のmysqlのhostを知りたくて、vpsに接続した状態でmysql -u root -pとかでmysqlに入った後に上記のコマンドを実行してさくらvpsのhostのようなものを取得出来たのですが、このコマンドで実行したものは外部からアクセスするためのもので、よくわかんないんですが、外部から僕のvpsのmysqlに接続できるための設定を書いてなかったのでエラーを吐きました。まあ、今回は、自分のvpsの中のnode.jsから接続するのでローカルで大丈夫。下記のコマンドで127.0.0.1を確認してください。

mysql> select host from mysql.user;
+-------------------+
| host              |
+-------------------+
| 127.0.0.1         |
| ::1               |

接続

# vi node_test.js

var mysql      = require('mysql');
var connection = mysql.createConnection({


host: process.env.DB_HOST || '127.0.0.1',
user: process.env.DB_USER || 'ユーザー名',
password: process.env.DB_PASS || 'パスワード',
database: process.env.DB_NAME || 'データベースの名前'


});

//これは省略してもoK。
connection.connect();