2012-05-18 13 views
15

Tengo que importar 1go de datos sql, levanté el max_allowed_packet a 1100M para estar seguro.Importación de 1GO SQL File => ERROR 2013 (HY000) en la línea 23: Conexión perdida al servidor MySQL durante la consulta

así que utilizo:

Mi consulta

mysql -u root -p -D mainbase < GeoPC_WO.sql 

Pero 1 minuto después que se detenga durante el proceso y me sale este error:

**ERROR 2013 (HY000) at line 23: Lost connection to MySQL server during query 
**Lost connection to MySQL server during query**** 
+0

El archivo sql no contiene ningún error, es una tabla de geolocalización de la base de datos mundial – Anthony

+0

¿Son inserciones? –

+0

¿Has probado esto? http://stackoverflow.com/questions/10563619/error-code-2013-lost-connection-to-mysql-server-during-query – Joand

Respuesta

11

posible que tenga algún inserto grande declaraciones que son más grandes que tu tamaño máximo. Verifique su archivo /etc/mysql/my.cnf o donde sea. No puedo recordar cuál es el valor predeterminado, pero establecerlo en algo grande como a continuación puede ser útil.

Esta es una opción

[mysqld] 
max_allowed_packet = 16M 

Y tal vez para otro lado

[mysqldump] 
max_allowed_packet = 16M 
+0

Ive consiguió siendo el mismo error: – Anthony

+0

puse: [mysqld] max_allowed_packet = 1000M Y tal vez para otro lado [ mysqldump] max_allowed_packet = 1000M Y obtuve este error ERROR 2013 (HY000) en la línea 23: conexión perdida al servidor MySQL durante la consulta Y se bloquea el servidor sql, tengo que reiniciarlo. ¿Alguna idea? – Anthony

+0

1Gb para un paquete es un poco extremo :-) hay otras razones por las que la conexión puede desaparecer, es decir, timeouts –

13

que tenía exactamente el mismo problema. Después de 1 hora de luchar resolví esto estableciendo

net_write_timeout 

a un valor más alto (en mi situación es)

+1

Esta fue la única solución que funcionó en mi caso: un conducto como "mysqldump | mysql", el comando "mysql" enviar datos a otro host y ser demasiado lento, y causar un tiempo de espera (volcar directamente a un archivo funcionó bien, no funcionó a mysql) – golimar

+1

¡Gracias! Trabajó para mí también. –

1

En mi caso, el problema ("perdió la conexión con el servidor MySQL durante la consulta") estaba en un archivo de volcado dañado o en los discos duros que funcionan mal:

Primero, hice un volcado en el servidor principal y luego copié ese volcado en el servidor de replicación. Pero parece que el servidor de replicación tuvo algunos problemas con sus HDD y el volcado se corrompió, es decir, MD5 del archivo de volcado original en el servidor principal era diferente de MD5 de la copia de volcado en el servidor de replicación.

0

Usted puede tratar con esto:

Primero:

sudo /etc/init.d/mysql stop 

entonces usted debe editar este archivo:

sudo vi /etc/mysql/my.cnf 

Añada la siguiente línea a la sección [mysqld]:

innodb_force_recovery = 4 

Por último:

sudo /etc/init.d/mysql start 

(innodb_force_recovery forzar al motor de almacenamiento InnoDB a empezar. El valor 4 significa que sus archivos de datos pueden estar dañados. Para obtener más información, puede visitar: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html)

Saludos.

0

En mi caso fue por la falta de RAM, traté de importar un archivo sql comprimido de 90 MB a un servidor de 1GB RAM vps y el error 2013 se mantuvo hasta que apagué el servicio httpd para liberar algo de memoria y ejecutar el comando de importación nuevamente y fue exitoso entonces.

Cuestiones relacionadas