¿Qué significa MySQL Error 2013?


14

Estoy ejecutando mysqldump en un servidor mysql en un cron (como copia de seguridad) y recibo mensajes de advertencia como

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

¿Qué significa este error de MySQL (2013)? He buscado en Google y no es muy útil ...

Para el registro, mysqldump se conecta a un servidor esclavo MySQL, solía funcionar cuando se conectaba a un maestro.

Respuestas:


4

Esto podría ser muy malo, 2013significa que el hilo que da servicio al mysqldumpproceso ha muerto. Esto podría deberse a que el motor InnoDB en el servidor ha detectado un error al leer el archivo de base de datos para su base de datos. Como mysqldumptiene que leer todas las páginas de toda su base de datos para hacer la copia de seguridad, es probable que desencadene cualquier corrupción latente que su aplicación pueda evitar durante su actividad diaria.

Si ejecuta su mysqlcomando e informa que su ID de conexión es un número bajo, entonces su servidor probablemente se haya reiniciado. Debe verificar su mysqld.loginmediatamente para averiguar por qué.


gracias por aceptar mi respuesta, ¿qué encontraste en tu mysqld.log?
Dave Cheney

Vi la identificación de conexión baja, lo que significa que el servidor se reinició. No estoy seguro de por qué todavía. ¿Cómo puedo comprobar si hay 'corrupción latente
Rory

1
Si su servidor mysql se ha reiniciado, habrá un gran (leer páginas de depuración) en el registro de mysql.
Dave Cheney

11

2013 significa que la conexión al servidor se fue. Hay varias posibilidades disponibles:

  1. Alguien KILLed la consulta
  2. Los problemas de red provocaron la muerte de la conexión
  3. El servidor se bloqueó / murió
  4. Su conexión estaba inactiva wait_timeouty fue asesinada
  5. El cliente no estaba obteniendo datos lo suficientemente rápido net_wait_timeouty fue asesinado

1
¿Es net_write_timeout o net_wait_timeout ?
ks1322

también net_read_timeout= 600 y connect_timeout= 60

0

¿abres la conexión, haces una operación larga que no involucra la conexión y luego intentas la consulta? si ese es el caso, mysql probablemente perdió la conexión debido a wait_timeout. simplemente vuelva a conectarse antes de emitir la consulta.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.