连接到数据库时,使用节点包mysql v2.16.0遇到错误:错误的数据包。得到:80预期:0

时间:2018-12-13 12:40:21

标签: javascript mysql node.js

版本:

  • 节点> 11.4.0
  • mysql(节点程序包)> 2.16.0
  • phpMyAdmin> 4.8.3
  • MySQL> 5.7

我正在使用以下代码:

const mysql = require('mysql');

let db = mysql.createConnection({
  host:'hidden',
  port:'hidden',
  user:'hidden',
  password:'hidden',
  database: 'hidden',
  dubug: true
});

sqlfn.createTable('Internal', db, 'test_table', (result, err) => {
  if(err) {console.log(err.stack); return};
  console.log('Create OK: ', result);
});

从功能文件sqlfn:

exports.createTable = (req, db, name, callback) => {
  let query_string = String(`CREATE TABLE ${name} (uid VARCHAR(255), name VARCHAR(255), type VARCHAR(255), data VARCHAR(255), modified VARCHAR(255))`);

  db.query(query_string, (err, result) => {
      if(err) fn.logit(req, 'SQL', 'error', `in <createTable> ${err}`);

      callback(result, err);
  });
};

这是我得到的错误:

  

>   错误:数据包乱序。得到:80预期:0       在Parser.write(C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ protocol \ Parser.js:42:19)       在Protocol.write(C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ protocol \ Protocol.js:38:16)       在套接字。 (C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ Connection.js:91:28)       在套接字。 (C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ Connection.js:502:10)       在Socket.emit(events.js:189:13)       在addChunk(_stream_visible.js:288:12)       在可读AddChunk(_stream_visible.js:269:11)       在Socket.Readable.push(_stream_visible.js:224:10)       在TCP.onStreamRead [读取时](internal / stream_base_commons.js:145:17)       --------------------       at Protocol._enqueue(C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ protocol \ Protocol.js:144:48)at Protocol.handshake(C:\ Users \ hidden \ Documents \ Git \在Connection.connect(C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ Connection.js:118:18)的hidden \ node_modules \ mysql \ lib \ protocol \ Protocol.js:51:23)       在Connection.query(C:\ Users \ hidden \ Documents \ Git \ hidden \下的Connection._implyConnect(C:\ Users \ hidden \ Documents \ Git \ hidden \ node_modules \ mysql \ lib \ Connection.js:453:10) node_modules \ mysql \ lib \ Connection.js:198:8)       在Object.exports.createTable(C:\ Users \ hidden \ Documents \ Git \ hidden \ components \ functions \ sql.js:36:8)       在对象。 (C:\ Users \ hidden \ Documents \ Git \ hidden \ components \ controllers \ controll_admin.js:22:7)       在Module._compile(internal / modules / cjs / loader.js:723:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:734:10)       在Module.load(internal / modules / cjs / loader.js:620:32)

如果有人知道我该如何解决或解决此问题,我希望获得一些反馈并对此提供帮助。

谢谢。 :)

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误,这是因为我没有为数据库设置正确的端口3305,而不是默认的3306