【问题标题】:After connecting to MySQL database, I'm getting "Error: Got packets out of order"连接到 MySQL 数据库后,我收到“错误:数据包乱序”
【发布时间】:2020-09-28 14:53:06
【问题描述】:

目前我正在尝试使用 Deno 和 MySQL 设置一个简单的 REST API。在成功创建数据库、表并向其中插入一些值之后,我无法从 Deno 端获取这些值。这是我的代码:

import { Client } from "https://deno.land/x/mysql/mod.ts";

const client = await new Client().connect({
   hostname: "127.0.0.1",
   username: "root",
   port: 3306,
   db: "testDatabase",
   password: "",
});

await client.execute('use Ponys');

await client.query('SELECT * FROM Students');

执行/查询后,我总是收到以下消息:

INFO 连接 127.0.0.1:3306 连接到 127.0.0.1 的信息 错误:数据包乱序

我正在使用以下命令运行应用程序:

deno run --allow-all index.ts

我的本​​地 SQL 服务器一直在运行。

您能帮我找到为什么我无法获得这些值的答案吗?谢谢!

【问题讨论】:

  • 这是一个非常有趣的错误,对我来说这似乎是一个错误。我会report它。 students 表很大吗?
  • 我想知道这是否与学生表非常大有关。看看这个thread。这不是一个 deno 线程,但它可能会有所帮助。
  • 学生表只有 5 条记录。
  • 您是否尝试在主机名中使用“localhost”而不是“127.0.0.1”?
  • 是的@Nezir,我试过了,它也不起作用。

标签: mysql database connection deno


【解决方案1】:

根据开发人员的说法,这是一个错误。

https://github.com/manyuanrong/deno_mysql/issues/16

更具体地说...

https://github.com/manyuanrong/deno_mysql/issues/16#issuecomment-639344637

为目前 Deno 尚未拥有功能强大的 mysql 驱动程序的现实做好准备。它不支持密码!

但是当它真的出现时......但是当它出现时,它很快就会成为令人敬畏的一站式商店。

想象一下... Beastly NGINX 作为 SSL 代理,单个文件 Deno 作为运行时网关,MySQL 作为运行的关系数据库在数字海洋 5.00 美元的水滴中非常壮观..

我实在等不及了。

【讨论】:

    【解决方案2】:

    如果您在很长一段时间后发出 SQL 请求 - 您可能会遇到同样的问题。

    通过在 mysql 服务配置中调整此值来解决此问题:

    interactive_timeout

    wait_timeout

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 2018-12-11
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 2017-04-19
      • 2016-12-11
      相关资源
      最近更新 更多