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