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

Posted

技术标签:

【中文标题】我在连接到数据库时遇到错误使用节点包 mysql v2.16.0 错误:数据包乱序。得到:80 预期:0【英文标题】:I'm getting a Error using node package mysql v2.16.0 while connecting to database Error: Packets out of order. Got: 80 Expected: 0 【发布时间】:2019-05-14 16:22:14 【问题描述】:

版本:

节点 > 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_readable.js:288:12) 在 readableAddChunk (_stream_readable.js:269:11) 在 Socket.Readable.push (_stream_readable.js:224:10) 在 TCP.onStreamRead [as onread] (internal/stream_base_commons.js:145:17) -------------------- 在 Protocol._enqueue (C:\Users\hidden\Documents\Git\hidden\node_modules\mysql\lib\protocol\Protocol.js:144:48) 在 Protocol.handshake (C:\Users\hidden\Documents\Git\ hidden\node_modules\mysql\lib\protocol\Protocol.js:51:23) 在 Connection.connect (C:\Users\hidden\Documents\Git\hidden\node_modules\mysql\lib\Connection.js:118:18) 在 Connection._implyConnect (C:\Users\hidden\Documents\Git\hidden\node_modules\mysql\lib\Connection.js:453:10) 在 Connection.query (C:\Users\hidden\Documents\Git\hidden\ 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 (internal/modules/cjs/loader.js:734:10) 在 Module.load (internal/modules/cjs/loader.js:620:32)

如果有人知道我可以如何解决或解决这个问题,我希望得到一些反馈和帮助。

谢谢。 :)

【问题讨论】:

您使用的端口是否正确? github.com/mysqljs/mysql/issues/1890 是的,我使用了正确的端口。 【参考方案1】:

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

【讨论】:

感谢您分享您的解决方案。还请记住:一旦您拥有必要的声誉,您还可以发布较小的提示作为评论。

以上是关于我在连接到数据库时遇到错误使用节点包 mysql v2.16.0 错误:数据包乱序。得到:80 预期:0的主要内容,如果未能解决你的问题,请参考以下文章

hibernate + maven + mysql 服务器配置问题

我在提交表单时遇到错误

我在提交表单时遇到错误

为啥我在使用 Java (Netbeans) 连接到 MySQL 时收到此错误“通信链接失败最后发送的数据包...”? [复制]

我在连接到 mongodb Atlas 时收到此错误:“dns.exception.Timeout:DNS 操作在 30.000985383987427 秒后超时”

与 MySQL 的连接错误;无权访问