Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将远程mysql服务器与heroku NODE.js应用程序连接时出现ETIMEDOUT错误_Mysql_Node.js_Heroku_Node Mysql - Fatal编程技术网

将远程mysql服务器与heroku NODE.js应用程序连接时出现ETIMEDOUT错误

将远程mysql服务器与heroku NODE.js应用程序连接时出现ETIMEDOUT错误,mysql,node.js,heroku,node-mysql,Mysql,Node.js,Heroku,Node Mysql,我正在Node.JS项目中使用远程托管的mysql db。该连接在本地工作(使用远程mysql),并且当我将其托管在与mysql db相同的服务器上时也可以工作。但是当我尝试从heroku连接它时,给了我一个'ETIMEDOUT'错误 这是我的db脚本,其中包含所有与db相关的操作 'use strict'; var utils = require('./utils'); var mysql = require('mysql'); var pool = null; exports.init =

我正在Node.JS项目中使用远程托管的mysql db。该连接在本地工作(使用远程mysql),并且当我将其托管在与mysql db相同的服务器上时也可以工作。但是当我尝试从heroku连接它时,给了我一个'ETIMEDOUT'错误

这是我的db脚本,其中包含所有与db相关的操作

'use strict';
var utils = require('./utils');
var mysql = require('mysql');
var pool = null;

exports.init = function (env) {
    if (env === 'production') {
        pool = mysql.createPool({
            host     : '100.00.00.109',
            user     : 'kjahsdkasd',
            password : 'asdasda!',
            database : 'maics'
        });
    } else {
        pool = mysql.createPool({
            host     : 'localhost',
            user     : 'root',
            password : '',
            database : 'maics'
        });
    }
};

exports.query = function (query, callback, res) {
    pool.getConnection(function(error, connection){
        if (error) { 
            utils.error({
                data : error 
            }, "error in mysql connection", res);
        } else {
            connection.query(query, function (err, result, fields) {
                connection.release();
                if (err) { 
                    utils.error({
                        data : err 
                    }, "error in mysql operation", res);
                }
                else callback(result, fields);
            });
        }
    });
};

exports.queryWithObject = function (query, object, callback, res) {

    pool.getConnection(function(error, connection){
        if (error) { 
            utils.error({
                data : error 
            }, "error in mysql connection", res);
        } else {
            connection.query(query, object, function (err, result, fields) {
                connection.release();
                if (err) { 
                    utils.error({
                        data : err 
                    }, "error in mysql operation", res);
                }
                else callback(result, fields);
            });
        }

    });
};
当我查询时,这是我得到的响应。

这是我在服务器上的远程mysql配置,我已经允许了所有请求,它还可以在本地与远程数据库一起工作。我知道这是一个非常具体的问题,我只是在寻找任何方向


尝试将MySQL服务器设置为侦听
0.0.0.0
(如果您还没有)。尝试了@BenFortune,我还允许所有传入的ip都使用%通配符,这样看起来就不会出现问题。您最终解决了这个问题吗?