数据库
首页 > 数据库> > mysql – 如何使用nodejs和pem keyfile连接到Cloud SQL实例

mysql – 如何使用nodejs和pem keyfile连接到Cloud SQL实例

作者:互联网

我正在尝试使用pem文件密钥从nodejs应用程序连接到Cloud SQL实例.

var fs = require('fs');
var Sequelize = require('sequelize');

var sequelize = new Sequelize('database', 'root', '', {
    host: '<ip>',
    dialect: 'mysql',
    ssl: {
       ca: fs.readFileSync(__dirname + '/server-ca.pem'),
       key: fs.readFileSync(__dirname + '/cert.pem')
    }
});
sequelize.query('select * from Users').then(function (users) {
    console.log(users);
});

我可能未处理SequelizeAccessDeniedError:ER_ACCESS_DENIED_ERROR:拒绝访问用户’root’@’< ip>‘ (使用密码:否).

我究竟做错了什么?

解决方法:

看起来您的ssl选项不正确.您已在key参数中放置了“cert”文件.您的ssl配置应如下所示:

  ssl: {
     ca: fs.readFileSync(__dirname + '/server-ca.pem'),
     cert: fs.readFileSync(__dirname + '/client-cert.pem'),
     key: fs.readFileSync(__dirname + '/client-key.pem')
  }

其中client-key.pem是与client-cert.pem对应的私钥.当你遵循Cloud SQL SSL instructions时,你应该得到所有这三个文件.

标签:mysql,node-js,google-cloud-sql,node-mysql
来源: https://codeday.me/bug/20190628/1316570.html