14
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node.jsでmysqlに接続

Last updated at Posted at 2018-12-18

#はじめに
このページは、谷ゼミ Advent Calender 2018 の18日目の投稿です。

vagrantとVirtualBoxを使って仮想環境を構築しており、
そこに作ったMySQLのデータベースに接続するためにNode.jsを使って接続を試みたのでその備忘録を記録しておきます。
ローカル端末がMacなのでそこから仮想環境のデータベースに接続する。

#目次
1 Node.jsとは?
2 構築してある仮想環境について
3 Node.jsを使う準備
4 MySQLに接続
5 終わりに

#Node.jsとは?
Node.jsはサーバサイドで動くJavaScriptである。

ここでJavaScriptは知っているけどNode.jsは知らない人は疑問に思うかもしれない。JavaScriptはブラウザ上で動くために開発されたプログラミング言語なので、サーバサイドで動かすイメージはないかもしれない。

実は、JavaScriptはPHPやJavaなどと同じようにサーバサイドでも動かせる。
サーバサイドJavaScriptと呼ばれるが、それがNode.jsである。

注意しておくが、サーバサイドでも動かせるがPHPなどとはまったく違うので一緒のものというわけではない。

#構築してある仮想環境について
既にvagrantとVirtualBoxで仮想環境を構築しているので今回はそれを使っていく。
仮想環境の構築の仕方、詳しい設定方法などは機会があればまた記事にしたいと思います。

######構築した環境
VirtualBox : 5.2.18
OS : Ubuntu 18.04 LTS
Webserver : Apache2.4.29
PHP : 7.2.10
MySQL : 5.7.24

#Node.jsを使う準備
######nvmとは
nvmとはnode version managerの略で、そのままnodeのバージョン管理(切り替え)を簡単に行うことができる。

gitをインストールしてなかったらインストールする

$ brew install git

nvmをインストール

$ git clone https://github.com/creationix/nvm.git ~/.nvm

パスを通す

$ source ~/.nvm/nvm.sh

nvmのバージョンを確認

$ nvm --version
0.33.11

インストールできるバージョンを確認

$ nvm ls-remote
        v0.1.14
        v0.1.15
        v0.1.16
          ...
        v11.1.0
        v11.2.0
        v11.3.0
        v11.4.0

インストールする

$nvm install v11.0.0

バージョン確認

$ node -v
v11.0.0

.bash_profileにコードを追加

if [[-s ~./nvm/nvm.sh]];
then source ~/.nvm/nvm.sh
fi

#MySQLに接続
node-mysqlをインストール

$ npm install mysql

sample.jsを作成
IPアドレス,ユーザー名,パスワード,ポート番号,データベース名,テーブル名は自分が利用したいものを書いてください。

sample.js
'use strict';

let mysql = require('mysql');
let connection = mysql.createConnection({
  host : 'IPアドレス',
  user : 'ユーザー名',
  password : 'パスワード',
  port : ポート番号,
  database: 'データベース名'
});

connection.connect();

connection.query('SELECT * from テーブル名 LIMIT 2;', (err, rows, fields) => {
  if (err) throw err;

  console.log(rows);
});

connection.end();

対象のSQLサーバーでユーザーにアクセス権限付与しておく必要などもあります。
今回はその設定などは仮想環境構築と同じく省略します。機会があれば・・・。

ということでsample.jsを実際に実行すると

$ node sample.js
[ RowDataPacket { id: 1, name: 'テストグラノーラ1', price: 200 },
  RowDataPacket { id: 2, name: 'テストグラノーラ2', price: 300 } ]

となり、Macのターミナルから実行することで仮想環境のデータベースに接続し、表示させることができました。

#終わりに
今回はNode.jsでmysql接続を行いました。
Node.jsについての勉強し始めたばかりなので不備などあったら申し訳ありません。これをもとにさらに勉強していきたいと思います。

はじめての投稿でもあるので、お手柔らかにお願いします。

#参考サイト
初心者向け!3分で理解するNode.jsとは何か?
Node.js導入->MySQLへ接続

14
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?