node.js + public mysql database:“connect ECONNREFUSED”

时间:2014-03-07 08:46:13

标签: mysql node.js proxy

我在代理服务器后面工作,我正在尝试访问以下公共数据库。

连接在我的工作场所使用mysql客户端工作:

$ mysql -A -u genome -h genome-mysql.cse.ucsc.edu -P 3306 -D hg19 -e 'select now()'
+---------------------+
| now()               |
+---------------------+
| 2014-03-06 01:56:36 |
+---------------------+

现在,我正在尝试使用节点

执行相同的操作
var mysql = require('mysql');
var connection = mysql.createConnection({
  debug:true,
  trace:true,
  host : 'genome-mysql.cse.ucsc.edu',
  port : 3306,
  database: 'hg19',
  user : 'genome',
  password: ''
 });
connection.connect(function(err) {if(err!=null) console.log(err);});
connection.end();

它可以在我的家中使用,但它会从我的工作场所引发错误

{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  fatal: true }

同样的错误使用:_socket: '/var/run/mysqld/mysqld.sock'connect ECONNREFUSED - node js , sql

有关如何解决这个问题的任何建议吗?

1 个答案:

答案 0 :(得分:1)

固定。这是我的node.js版本的问题:

固定。这是我在ubuntu上的节点的探测

lindenb@hardyweinberg:~/tmp/NODE$ /usr/bin/node -v && /usr/bin/node test2.js
v0.6.12
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  fatal: true }

VS

$ ~/package/node/bin/node -v && ~/package/node/bin/node test2.js
v0.10.26
<-- HandshakeInitializationPacket
{ protocolVersion: 10,
  serverVersion: '5.6.10-log',
  threadId: 9810250,
  scrambleBuff1: <Buffer 46 33 6a 3f 39 41 79 61>,
  filler1: <Buffer 00>,
  serverCapabilities1: 63487,
  serverLanguage: 8,
  serverStatus: 2,
  serverCapabilities2: 32895,
  scrambleLength: 21,
  filler2: <Buffer 00 00 00 00 00 00 00 00 00 00>,
  scrambleBuff2: <Buffer 5a 7c 26 43 5c 28 50 3c 79 6d 39 71>,
  filler3: <Buffer 00>,
  pluginData: 'mysql_native_password',
  protocol41: true }