-1

到目前为止,我在 DB 表中有大约 7500 条记录。今天晚上我又导入了 4000 条记录(总共 10500 条记录),当我运行应用程序时,我收到 MySQL 错误消息

Lost connection to MySQL server during query

我认为这将是我的应用程序中的一个问题,但后来我尝试通过 PhpMyAdmin 运行查询,我得到了同样的错误

#2013 - Lost connection to MySQL server during query

我第一次面对这个错误。我环顾四周,看起来问题是由于大查询引起的。这可能是可能的,但是根据表中的当前记录数(7500),查询执行大约需要 1.2 秒。那么,为什么还有 4000 条记录会导致此错误?任何想法,如何解决?

此外,该应用程序正在 Hostgator 服务器上运行。

4

2 回答 2

1

可能是因为你用尽了db session的一种资源,比如内存,mysql关闭了连接。

引自dev.mysql

“可以传入或传出 MySQL 5.1 服务器或客户端的最大可能数据包为 1GB。

当 MySQL 客户端或 mysqld 服务器接收到大于 max_allowed_pa​​cket 字节的数据包时,它会发出 Packet too large 错误并关闭连接。对于某些客户端,如果通信数据包太大,您可能还会在查询错误期间丢失与 MySQL 服务器的连接。”

可能的修复:

将 sql 转储分成几部分,一次做一点。

如果表损坏,运行“优化表#tablename”命令应该可以解决这个问题。

于 2012-09-20T20:50:11.293 回答
-2

您是否尝试过删除额外的 4000 条记录并测试您是否仍然可以查询数据库?

于 2012-09-20T20:42:46.097 回答