14

I'm running mysqldump on a mysql server in a cron (as backup) and I'm getting warning messages like

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

What does this MySQL error (2013) mean? I've done some googling and it's not very helpful...

For the record, mysqldump is connecting to a MySQL Slave server, it used to work when it was connecting to a master.

Amandasaurus
  • 31,471
  • 65
  • 192
  • 253

3 Answers3

11

2013 means that the connection to the server went away. There are several possibilities off hand:

  1. Someone KILLed the query
  2. Network problems caused the connection to die
  3. The server crashed/died
  4. Your connection was idle for wait_timeout and was killed
  5. The client wasn't pulling data fast enough for net_wait_timeout and was killed
brian-brazil
  • 3,952
  • 1
  • 22
  • 16
4

This could be very bad, 2013 means that the thread servicing the mysqldump process has died. This could be because the InnoDB engine on the server has detected an error while reading the database file for you database. As mysqldump has to read all the pages for all of your database to make the backup it is likely to trigger any latent corruption that your application may avoid during it day to day activity.

If you run your mysql command and it reports that your connection id is a low number then you server has probably restarted itself. You should check your mysqld.log immediately to find out why.

Dave Cheney
  • 18,567
  • 8
  • 49
  • 56
0

do you open the connection, do a lengthy operation not involving the connection, and then attempt the query? if that is the case mysql probably dropped the connection due to the wait_timeout. simply re-connect before issuing the query.