6

到目前为止,我已经使用node-mysql构建了我的应用程序。我刚刚使用 AWS RDS 服务设置了一个可安全访问的 mysql 数据库,并已使用 mysql 命令行客户端成功测试了 SSL 连接。我有亚马逊的公钥 .pem 文件。node-mysql 似乎没有用于 SSL 连接选项的 api。

到目前为止我发现的唯一一个是Node-mysql-libmysqlclient但我在尝试连接它时遇到了错误,关于绑定依赖项为空,所以我不确定我是否应该信任它。建议使用哪个模块/api?或者,如果您知道我需要在 node-mysql 中修改什么,我愿意稍微修改一下,但看起来它正在使用较低级别的套接字连接到 MySQL,所以我不确定获得添加了 SSL 部分。

4

3 回答 3

10
var mysql  = require('mysql');
var fs     = require('fs');

var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret',
  database : 'my_db',
  ssl      : {
        ca   : fs.readFileSync('./ssl/server-ca.pem'), // should be enough for AWS
        key  : fs.readFileSync('./ssl/client-key.pem'), // required for google mysql cloud db
        cert : fs.readFileSync('./ssl/client-cert.pem'), // required for google mysql cloud db
  }
});

这应该够了吧。

于 2016-08-06T21:18:35.030 回答
0

node-mysql 模块支持 ssl 连接,如下所示:https ://github.com/felixge/node-mysql#ssl-options 。

于 2014-10-28T09:41:47.900 回答
-4

使用续集!为 MariaDB/MySQL 提供最好的 ORM。 https://github.com/sequelize/sequelize

npm install sequelize
--- then ---
npm install mariadb
--- or ---
npm install mysql
于 2018-04-08T08:51:57.320 回答