MySQL错误2013是什么意思?


14

我在cron的mysql服务器上运行mysqldump(作为备份),并且收到警告消息,例如

mysqldump: Got error: 2013: Lost connection to MySQL server during query when doing refresh

这个MySQL错误(2013)是什么意思?我已经做了一些谷歌搜索,但不是很有帮助...

作为记录,mysqldump正在连接到MySQL Slave服务器,它在连接到主服务器时曾经工作。

Answers:


4

这可能非常糟糕,这2013意味着为进程提供服务的线程mysqldump已死亡。这可能是因为服务器上的InnoDB引擎在读取数据库的数据库文件时检测到错误。由于mysqldump必须读取所有数据库的所有页面以进行备份,因此很可能会触发应用程序在日常活动中可以避免的任何潜在损坏。

如果您运行mysql命令,并且报告您的连接ID较小,则服务器可能已重新启动。您应该mysqld.log立即检查一下原因。


感谢您接受我的回答,您在mysqld.log中找到了什么?
戴夫·切尼

我看到连接ID较低,这意味着服务器已重新启动。我不确定为什么。我如何检查“潜在腐败
罗里

1
如果您的mysql服务器已重新启动,则mysql日志中将有一个大的(读取调试页)。
Dave Cheney

11

2013表示与服务器的连接已断开。有几种可能的解决方法:

  1. 有人KILL编辑了查询
  2. 网络问题导致连接中断
  3. 服务器崩溃/死了
  4. 您的连接闲置了wait_timeout并被杀死
  5. 客户端无法足够快地提取数据net_wait_timeout并被杀死

1
net_write_timeout还是net_wait_timeout
ks1322

net_read_timeout= 600connect_timeout= 60

0

是否打开连接,进行不涉及该连接的冗长操作,然后尝试查询?如果是这种情况,mysql可能由于wait_timeout而断开了连接。只需在发出查询之前重新连接即可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.