2012-03-29 65 views
1

我收到MySQL错误得到了一个错误读出的通信数据包在MySQL

“得到了一个错误读出的通信数据包”

在MySQL.err文件,并在我的应用程序方面我得到2013错误(查询期间丢失连接)。

所有的超时值(以秒为单位):

wait_timeout = 60 
net_read_timeout = 30 
connect_timeout = 30 

如何解决这个问题?

+0

也许尝试保持连接以确保连接未关闭? – Simon 2012-03-29 10:07:44

回答

-1

你可以更改bind-address = localhost并重新启动MySQL服务器吗?好像这个问题是有关您:http://forums.mysql.com/read.php?152,355740,355742#msg-355742

而且这个 -

如果MySQL端口是错误的结果是MySQL客户端错误2013“失落 连接...”。请注意,如果在SSH配置中禁用端口转发 ('sshd_config'文件中的配置参数 'AllowTcpForwarding'设置为'no'),也会发生此错误。它 (这里)只是简单地说明了由于某种原因,从SSH到MySQL没有连接。但mySQL客户端API'认为'有一个 连接,这就是为什么说'丢失连接...'而不是 '无法连接...'。有一个成功的连接 - 但不是MySQL服务器的 - 仅限于SSH守护进程!但MySQL客户端API是 没有设计'看'的差异!

参照this

+0

不同的错误消息。 – reinierpost 2016-09-19 10:06:18

+0

请发布最后100行error.log。 – 2018-02-02 18:31:54

-1

如果你有升级的MySQL,也许你可以这样做:

mysql_upgrade -u root -p --force 

这帮助我,当从5.6.x冲泡MySQL升级到5.7.x

+0

但它会解决这个问题吗? – reinierpost 2016-09-19 10:05:44

+0

这解决了我的问题,是的 – Johann 2016-09-20 11:23:44

0

为了什么这是值得的,这个模糊的错误在许多可能的罪魁祸首中有点常见。

通常情况下,它不是每个说MySql的问题......而是系统或调用程序。例如,有时你的php内存限制设置为低或交换驱动器从未设置......崩溃PHP和MySQL被困惑,发生了什么。

在我的情况下,我没有这样做,但我试图对非UTF8字符的字符串做一个json_encode,这会失败并将其拖动到一起。在PHP7的OPCache之上似乎是非常错误的,并且没有正确的错误日志记录。我不得不禁用这个功能......然后神奇地,我在/var/log/mysql/error.log中的“通信数据包”的所有问题都消失了。

希望这可以帮助别人...给了我很多悲伤。

相关问题