node-webkit Ошибка подключения к MySQL — ER_HANDSHAKE_ERROR: неправильное рукопожатие

Я использую Node-Webkit для создания настольных приложений с использованием NodeJS.

В этом мне нужно получить данные из базы данных MySQL. Для этого я использую модуль node-mysql, а следующий код используется для подключения к серверу MySQL с помощью node-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, соединение было установлено, и в консоли было напечатано Success. Но если я упакую и запущу код в nw.exe node-webkit, он выдаст следующую ошибку в веб-консоли.

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 

Пожалуйста, предложите мне решение для установки соединения MySQL через node-webkit.


person Hackableweb    schedule 05.08.2014    source источник


Ответы (1)


у меня была та же проблема... и понижение версии node webkit до версии 0.8.6 помогло...

я надеюсь, что это поможет вам ...

person Ulises Acosta    schedule 15.08.2014