node-webkit MySQL连接错误 - ER_HANDSHAKE_ERROR:握手不良

时间:2014-08-05 09:57:32

标签: mysql node.js node-webkit node-mysql

我使用Node-Webkit使用NodeJS创建桌面应用程序。

在此我需要从MySQL数据库中获取数据。为此,我使用node-mysql模块,以下代码用于使用node-mysql连接MySQL服务器。

var mysql_con = require('mysql');
var connection = mysql_con.createConnection({
      host     : input.host,
      user     : input.username,
      password : input.password,
      database : input.database
    });
    connection.connect(function(err) {
        if (err) {
            console.log('Error : '+err.stack);
        }
        console.log('Success');
    });

如果我在Windows机器的命令行中运行,则已建立连接并且已在控制台中打印成功。但是,如果我打包并运行node-webkit的nw.exe中的代码,它会在Web控制台中出现以下错误

Error : Error: ER_HANDSHAKE_ERROR: Bad handshake
at Handshake.Sequence._packetToError (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\sequences\Sequence.js:48:14)
at Handshake.ErrorPacket (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\sequences\Handshake.js:101:18)
at Protocol._parsePacket (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\Protocol.js:270:23)
at Parser.write (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\Parser.js:77:12)
at Protocol.write (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\Protocol.js:39:16)
at Socket.<anonymous> (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\Connection.js:82:28)
at Socket.EventEmitter.emit (events.js:104:17)
at readableAddChunk (_stream_readable.js:156:16)
at Socket.Readable.push (_stream_readable.js:123:10)
at TCP.onread (net.js:520:20)
--------------------
at Protocol._enqueue (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\Protocol.js:135:48)
at Protocol.handshake (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\protocol\Protocol.js:52:41)
at Connection.connect (C:\DOCUME~1\admin\LOCALS~1\Temp\nw4480_11607\node_modules\mysql\lib\Connection.js:108:18)
at Object.mysql.testConnection 

请建议我通过node-webkit建立MySQL连接的解决方案。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题......并且将节点webkit降级到版本0.8.6就行了......

我希望这可以帮助你...