【发布时间】:2018-11-17 14:09:53
【问题描述】:
我正在尝试连接到在线托管的 mysql 数据库,所以没有本地主机。但是每次我尝试连接它都会给我这个错误:
Error: connect ETIMEDOUT
at Connection._handleConnectTimeout (F:\FG\CO\CODESK\CO_PM\node_modules\mysql\lib\Connection.js:411:13)
at Object.onceWrapper (events.js:273:13)
at Socket.emit (events.js:182:13)
at Socket._onTimeout (net.js:445:8)
at ontimeout (timers.js:427:11)
at tryOnTimeout (timers.js:289:5)
at listOnTimeout (timers.js:252:5)
at Timer.processTimers (timers.js:212:10)
--------------------
at Protocol._enqueue (F:\FG\CO\CODESK\CO_PM\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Protocol.handshake (F:\FG\CO\CODESK\CO_PM\node_modules\mysql\lib\protocol\Protocol.js:51:23)
at Connection.connect (F:\FG\CO\CODESK\CO_PM\node_modules\mysql\lib\Connection.js:118:18)
at condb (file:///F:/FG/CO/CODESK/CO_PM/dist/:59:16)
at HTMLDocument.<anonymous> (file:///F:/FG/CO/CODESK/CO_PM/dist/:23:5)
at j (F:\FG\CO\CODESK\CO_PM\node_modules\scripts\jquery.min.js:2:29999)
at k (F:\FG\CO\CODESK\CO_PM\node_modules\scripts\jquery.min.js:2:30313)
at e.invokeTask (file:///F:/FG/CO/CODESK/CO_PM/dist/polyfills.c6871e56cb80756a5498.js:1:7780)
at t.runTask (file:///F:/FG/CO/CODESK/CO_PM/dist/polyfills.c6871e56cb80756a5498.js:1:2964)
at t.invokeTask (file:///F:/FG/CO/CODESK/CO_PM/dist/polyfills.c6871e56cb80756a5498.js:1:8870)
这是用于连接的代码:
var mysql = require('mysql');
//login credentials have been replaced with placeholders
var connection = mysql.createConnection({
host : 'thehost',
user : 'theuser',
password : 'thepassword',
database : 'thedb',
});
connection.connect();
$clientquery = "SELECT * FROM fa_ec_clients WHERE company_id = 'fc51b2dc49b0e4e76a90332f0e5cdafd'";
connection.query($clientquery, function (error, results, fields) {
if (error) alert(error);
console.log(results);
});
connection.end();
有没有人知道我该如何解决这个问题?
【问题讨论】:
-
是mysql主机开启了3306端口吗?你在使用 Azure / AWS 吗?能不能把host url 看一下端口是否打开?
-
@JoseMato 是的,端口已启用。但是我如何才能知道我使用的是 azure 还是 AWS?
-
嗯,你在哪里找到“mysql 数据库”?不是由您管理吗?
-
@JoseMato 它由我管理。我有 webshosting 和 mysql 数据库。我在使用 PHP 的网站上经常使用它,而且效果很好,所以我只是不明白这里有什么问题
-
感谢您的信息。这很奇怪。我正在使用相同的 mysql npm 库,并且由于内部网络问题(无法访问 Internet 等)或可以访问 Internet 但 mysql 端口/您的 ip 被命运过滤而发生此错误。你能检查两件事吗?:1.尝试从终端使用mysql连接2.尝试编写一个快速的php脚本来连接到同一个远程主机。如果第 1 步或第 2 步失败,则说明提供商或您的网络有问题(如果第 1 步和第 2 步失败,尝试从其他网络也可以)
标签: javascript mysql node.js electron