我用节点JS(FLEX环境(将代码部署在App Engine上。
config.json
{
"GCLOUD_PROJECT": "XXXXXX",
"DATA_BACKEND": "cloudsql",
"MYSQL_USER": "XXXX",
"MYSQL_PASSWORD": "XXXXX",
"INSTANCE_CONNECTION_NAME": "XXXXXX:us-central1:XXXXX"
}
model-cloudsql.js
const options = {
user: config.get('MYSQL_USER'),
password: config.get('MYSQL_PASSWORD'),
database: 'XXXXX'
};
if (config.get('INSTANCE_CONNECTION_NAME') && config.get('NODE_ENV') === 'production') {
options.socketPath = `/cloudsql/${config.get('INSTANCE_CONNECTION_NAME')}`;
}
const connection = mysql.createConnection(options);
我要低于错误:
"在致命错误后无法加入查询。"
请提供有关它的任何反馈。
看起来错误"Cannot enqueue Query after fatal error."
在您尝试查询创建过程中遇到致命错误的连接时发生的错误。如果我们查看MySQLJS文档,它建议使用以下内容:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
如您所见,您需要传递回调功能,以处理尝试连接时可能出现的任何错误。此回调函数将打印遇到的错误,以提供更多有关为什么无法连接的信息。
此外,您可能对处理错误的本节感兴趣。