如何在node-mysql池连接中使用SSL?

时间:2014-11-26 21:09:56

标签: mysql node.js ssl

我使用felixge的node-mysql通过Node.JS建立数据库连接。我建立了很多连接,所以我认为使用连接池是个好主意:

var mysql = require('mysql');

function createPool() {
    var pool = mysql.createPool({
        dateStrings : true,
        host : '***',
        user : '***',
        password : '***',
        database : '***'
    });
    return pool;
}

然而,虽然node-mysql使得SSL用于普通连接变得非常简单:

var connection = mysql.createConnection({
  host : 'localhost',
  ssl  : {
    ca : fs.readFileSync(__dirname + '/mysql-ca.crt')
  }
});

在使用连接池时,文档中似乎没有显示SSL选项可用。

如何将SSL与node-mysql池连接一起使用?或者更确切地说,它可以完成吗?

2 个答案:

答案 0 :(得分:3)

我重新阅读文档并注意到这一行:

  

Pools接受所有与连接相同的选项。

很抱歉。无论如何,答案是它接受与普通连接相同的选项。

答案 1 :(得分:2)

var mysql = require('mysql');

function createPool() {
    var pool = mysql.createPool({
        dateStrings : true,
        host : '***',
        user : '***',
        password : '***',
        database : '***',
        ssl  : {
            ca : fs.readFileSync(__dirname + '/mysql-ca.crt')
        }
    });
    return pool;
}