nodejs使用MYSQL串連池,斷線重連

來源:互聯網
上載者:User

標籤:

兩種方式解決
1、你可以配置mysql的串連池

var mysql = require(‘mysql‘);var pool = mysql.createPool({    host: ‘localhost‘,    user: ‘nodejs‘,    password: ‘nodejs‘,    database: ‘nodejs‘,    port: 3306});var selectSQL = ‘select * from t_user limit 10‘;pool.getConnection(function (err, conn) {    if (err) console.log("POOL ==> " + err);    conn.query(selectSQL,function(err,rows){        if (err) console.log(err);        console.log("SELECT ==> ");        for (var i in rows) {            console.log(rows[i]);        }        conn.release();    });});

2、你可以使用斷線重連的方式來解決

var mysql = require(‘mysql‘);var conn;function handleError () {    conn = mysql.createConnection({        host: ‘localhost‘,        user: ‘nodejs‘,        password: ‘nodejs‘,        database: ‘nodejs‘,        port: 3306    });    //串連錯誤,2秒重試    conn.connect(function (err) {        if (err) {            console.log(‘error when connecting to db:‘, err);            setTimeout(handleError , 2000);        }    });    conn.on(‘error‘, function (err) {        console.log(‘db error‘, err);        // 如果是串連斷開,自動重新串連        if (err.code === ‘PROTOCOL_CONNECTION_LOST‘) {            handleError();        } else {            throw err;        }    });}handleError();

nodejs使用MYSQL串連池,斷線重連

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.