標籤:
安裝依賴庫
npm install mysql
建立資料庫連接
var mysql = require(‘mysql‘); //定義串連參數 var mysqlConn = { host:‘127.0.0.1‘, user:‘user‘, password:‘password‘, database:‘nodejs‘, port:‘3306‘ }; //建立串連 var conn = mysql.createConnection(mysqlConn); conn.connect(); //執行sql conn.query(‘select 1+1 as solution ‘,function(err,rows,fields){ if (err) {throw err;} console.log(‘select result is ‘+ rows[0].so); }) //關閉串連?conn.end();
使用資料庫連接池
var mysql = require(‘mysql‘); var mysqlConn = { host:‘127.0.0.1‘, user:‘root‘, password:‘jt123456‘, database:‘nodejs‘, port:‘3306‘ }; var pool = mysql.createPool(mysqlConn);// 從串連池擷取connectionpool.getConnection(function(err,conn){if (err) {console.log(‘err when getConnection from pool:‘+err);}conn.query(‘select 1+1 as solution‘,function(err,rows){if (err) {consloe.log(‘err when query sql :‘+err);}console.log(‘solution is ‘+rows[0].solution);// 釋放當前connectionconn.release();});});
處理串連時的異常
var mysql = require(‘mysql‘); var mysqlConn = { host:‘127.0.0.1‘, user:‘root‘, password:‘jt123456‘, database:‘nodejs‘, port:‘3306‘ };// 重連function handleError(){var conn = mysql.createConnection(mysqlConn);//串連時發生異常就列印錯誤並在2秒後重連conn.connect(function(err){if (err) {console.log(‘err when connect with mysql server:‘+err);};setTimeout(handleError,2000);});//監聽串連中的異常conn.on(‘error‘,function(err){console.log(‘err:‘+err);//中斷連線時自動重連if (err.code ===‘PROTOCOL_CONNECTION_LOST‘) {handleError();}else{throw err;}});}handleEror();
參考資料:用Nodejs串連MySQL
使用node串連mysql