协议数据包乱序

Posted

技术标签:

【中文标题】协议数据包乱序【英文标题】:protocol packets out of order 【发布时间】:2018-02-18 19:43:28 【问题描述】:

我最近在 A2 Hosting 上上传了我的 node.js 应用程序,我收到了这个错误:

 Error: Packets out of order. Got: 80 Expected: 0
    at Parser.write (/home/westudec/public_html/myapp/node_modules/mysql/lib/protocol/Parser.js:42:19)
    at Protocol.write (/home/westudec/public_html/myapp/node_modules/mysql/lib/protocol/Protocol.js:39:16)
    at Socket.<anonymous> (/home/westudec/public_html/myapp/node_modules/mysql/lib/Connection.js:103:28)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at TCP.onread (net.js:547:20)
    --------------------
    at Protocol._enqueue (/home/westudec/public_html/myapp/node_modules/mysql/lib/protocol/Protocol.js:145:48)
    at Protocol.handshake (/home/westudec/public_html/myapp/node_modules/mysql/lib/protocol/Protocol.js:52:23)
    at Connection.connect (/home/westudec/public_html/myapp/node_modules/mysql/lib/Connection.js:130:18)
    at Object.<anonymous> (/home/westudec/public_html/myapp/app2.js:22:7)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10) code: 'PROTOCOL_PACKETS_OUT_OF_ORDER', fatal: true 

我从这段代码中得到了那个错误:

var connection = mysql.createConnection(connDB);
connection.connect();
connection.query(`SELECT * FROM action`, function(err, data)
    if(err) return console.error(err);
    else 
        console.log("data : ", data);
    
)

在我的本地主机上它工作得很好,但在服务器上我得到了那个错误。关于这个错误的文档很差。 有人有想法吗?

谢谢

【问题讨论】:

【参考方案1】:

需要在mysql配置文件(my.cnf)中增加mysqlmax_allowed_packet参数,方法如下:

max_allowed_packet=500M

【讨论】:

以上是关于协议数据包乱序的主要内容,如果未能解决你的问题,请参考以下文章

PDOException:数据包乱序。预期 0 收到 1. 数据包大小=23

错误:数据包乱序。得到:1 预期:0

读取tcp包乱序

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

MySQL java jdbc MySQLNonTransientConnectionException:得到的数据包乱序

网络抓包解包分析