使用node連接mysql

jopen 9年前發布 | 12K 次閱讀 CSS Node.js 開發

安裝依賴庫

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);
// 從連接池獲取connection
pool.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);
        // 釋放當前connection
        conn.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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!