MySQL 错误 2013 是什么意思?

MySQL 错误 2013 是什么意思?

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

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

这个 MySQL 错误 (2013) 是什么意思?我在 Google 上搜索了一下,但没有什么帮助...

记录显示,mysqldump 正在连接到 MySQL 从属服务器,它以前在连接到主服务器时可以工作。

答案1

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

如果您运行mysql命令,它报告您的连接 ID 较低,则您的服务器可能已自行重启。您应该mysqld.log立即检查以找出原因。

答案2

2013 表示与服务器的连接断开。目前有几种可能性:

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

答案3

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

相关内容