我有一个 NodeJs 应用程序和 MySQL 数据库。
我已经将 nodejs 应用程序部署在 Google Cloud 上,并在 Google Cloud 中创建了 MySQL 数据库并连接到 nodejs 应用程序。
我能够成功地部署应用程序,但应用程序无法连接到云 mysql 数据库。
但是,当我尝试从本地的 mysql workbench 连接云 mysql 时,它可以成功连接到数据库。而且我也能够从本地的 nodejs 应用程序连接到云 mysql 数据库。
但是,我无法从部署的 nodejs 应用程序连接到云 mysql db。
错误信息:Database is not connectedError: connect ETIMEDOUT
Db.js
但是,当我尝试从本地的 mysql workbench 连接云 mysql 时,它可以成功连接到数据库。而且我也能够从本地的 nodejs 应用程序连接到云 mysql 数据库。
但是,我无法从部署的 nodejs 应用程序连接到云 mysql db。
错误信息:Database is not connectedError: connect ETIMEDOUT
Db.js
var mysql = require('mysql');
var PropertiesReader = require('properties-reader');
var properties = PropertiesReader('./db.properties');
var connection = mysql.createConnection({
connectionLimit : properties.get('pool'),
host: properties.get('hostname'),
user: properties.get('username'),
password: properties.get('password'),
database: properties.get('dbname')
});
connection.connect(function (err) {
if (!err) {
console.log("Database is connected");
} else {
console.log("Database is not connected" + err);
}
}
);
module.exports = connection;
app.yaml
runtime: nodejs
env: flex