Я новичок в node-mysql и хочу подключиться к внешней базе данных. База данных запущена и работает, так как я могу подключиться к ней через CLI MySQL, используя те же учетные данные (или даже через инструмент администратора MySQL). Версия сервера MySQL - «MySQL Community Server 5.1.60-log». Но используя mysql-node-module, я получаю следующую ошибку:
C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Parser.js:437
throw err; // Rethrow non-MySQL errors
^
Error: ER_HANDSHAKE_ERROR: Bad handshake
at Handshake.Sequence._packetToError (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
at Handshake.ErrorPacket (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18)
at Protocol._parsePacket (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Parser.js:43:10)
at Protocol.write (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Protocol.js:38:16)
at Socket.<anonymous> (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\Connection.js:91:28)
at Socket.<anonymous> (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\Connection.js:525:10)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
--------------------
at Protocol._enqueue (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Protocol.handshake (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\protocol\Protocol.js:51:23)
at Connection.connect (C:\Users\JohnDoe\databaseIntegration\node_modules\mysql\lib\Connection.js:119:18)
at Object.<anonymous> (C:\Users\JohnDoe\databaseIntegration\test\basicStuff\testconnect.js:15:5)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.runMain (module.js:611:10)
Даже использование локальной копии базы данных 1: 1 позволяет мне подключиться, сделать запрос и console.log результатов. Поэтому я предполагаю, что что-то не так с совместимостью базы данных node-mysql. Это код, который я написал:
const mysql = require('mysql');
var con = mysql.createConnection({
user: 'myuser',
password: 'mypw',
database: 'dbdb',
host: 'dbip',
port: 'dbport',
insecureAuth: true
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
con.query(`SELECT * FROM mytable;`, function (err, result) {
if (err) throw err;
console.log("Result: " + JSON.stringify(result));
});
});
В чем здесь проблема и как ее решить? Спасибо!