Un mensaje de error mucho temido de MySQL durante preguntas es servidor de MySQL ha salido. Un mensaje alternativo es conexión perdida al servidor durante pregunta. Éste es un problema extraño que aflige una gran variedad de software del PHP que incluye pero no limitada a WordPress. Hay varias causas para él. Miremos el campo común y algunas causas raras y qué usted puede hacer para fijarlo.

Las causas mas comunes son:
1. El servidor medido el tiempo hacia fuera y cerrado la conexión. Por abandono, el servidor cierra la conexión después de 8 horas o de 28800 segundos si ha sucedido nada. Usted puede cambiar el límite de tiempo fijando la variable del wait_timeout cuando usted comienza el mysqld vía /etc/my.cnf de su servidor (en linux; localice el archivo en directorio de instalación en ventanas) también. Esto afecta sobre todo a conexiones persistentes; las conexiones se abrieron con el mysql_pconnect () en el PHP. Puede también afectar a conexiones reunidas de dice cualquier reunión de la conexión del lado de servidor.

2. Otra razón común para recibir el servidor de MySQL tiene error ausente ido es porque usted ha publicado un cercano en su conexión de MySQL y después ha intentado funcionar con una pregunta en la conexión cerrada. Esto es un problema de lógica simple. ¿Usted está compartiendo la conexión a través de los hilos de rosca múltiples?

3. Usted consiguió un descanso de la conexión del TCP/IP en el lado de cliente. Esto puede suceder si usted ha estado utilizando los comandos: mysql_options (, MYSQL_OPT_READ_TIMEOUT,) o mysql_options (, MYSQL_OPT_WRITE_TIMEOUT,). En este caso el aumento del descanso, como se describe anteriormente, puede ayudar a solucionar el problema.

4. Usted ha encontrado un descanso en el lado de servidor y la reconexión automática en el cliente es lisiada. Refiera por favor al artículo ligado arriba para los detalles y la solución.

5. Usted puede también conseguir estos errores si usted envía una pregunta al servidor que es incorrecto o demasiado grande. Si el mysqld recibe un paquete que esté demasiado grande o fuera de servicio, asume que algo ha salido mal con el cliente y cierra la conexión. Si usted necesita preguntas grandes (por ejemplo, si usted está trabajando con las columnas grandes del BLOB), usted puede aumentar el límite de la pregunta fijando la variable del max_allowed_packet del servidor, que tiene un valor prefijado de 1MB. Usted puede también necesitar aumentar el tamaño de paquete máximo en el extremo del cliente. Más información sobre la determinación del tamaño de paquete se da en la sección B.1.2.9, paquete demasiado grande.

6. Un PARTE MOVIBLE o SUBSTITUYE la declaración que inserta un grande muchas filas puede también causar estas clases de errores. Cualquiera una de estas declaraciones envía una sola petición al servidor con independencia del número de filas de ser insertado; así, usted puede evitar el error reduciendo el número de filas enviadas por el PARTE MOVIBLE o SUBSTITUIRLO a menudo.

7. Usted también consigue una conexión perdida si usted está enviando el paquete 16MB o más grande si su cliente es más viejo de 4.0.8 y su servidor es 4.0.8 y arriba, o la otra manera alrededor.

Pocas causas raras son:
1. El administrador del DB pudo haber matado raramente el hilo de rosca corriente con una declaración de la MATANZA o un comando de la matanza del mysqladmin.

2. Un uso de cliente que funciona en un diverso anfitrión no tiene los privilegios necesarios de conectar con el servidor de MySQL de ese anfitrión.

3. Usted está utilizando a un cliente de Windows y el servidor había caído la conexión (probablemente porque expiró el wait_timeout) antes de que el comando fuera publicado. El problema en Windows es que MySQL no consigue en algunos casos un error del OS cuando la escritura a la conexión del TCP/IP al servidor, sino que por el contrario consigue el error cuando intenta leer la respuesta de la conexión.

4. Antes de MySQL 5.0.19, incluso si la bandera del volver a conectar en la estructura de MYSQL es igual a 1, MySQL no vuelve a conectar y no reedita automáticamente la pregunta pues no sabe si el servidor consiguió la pregunta original o no.

5. Es también posible ver este error si las operaciones de búsqueda del hostname fallan (por ejemplo, si va el servidor de DNS en el cual su servidor o red confía abajo). Esto es porque MySQL es dependiente en el sistema huesped para el name resolution, pero no tiene ninguna manera de saber si está trabajando - desde el punto de vista de MySQL el problema es indistinguible de cualquier otro descanso de la red.

6. Usted puede también ver que el servidor de MySQL tiene error ausente ido si MySQL se comienza con - opción del saltar-establecimiento de una red.

7. Usted puede también encontrar este error con los usos que bifurcan los procesos hijo, que intentan utilizar la misma conexión al servidor de MySQL. Esto puede ser evitada usando una conexión separada para cada proceso hijo.

8. Otra edición del establecimiento de una red que puede causar este error ocurre si el puerto de MySQL (defecto 3306) es bloqueado por su cortafuego, así previniendo cualquier conexión en absoluto al servidor de MySQL.

9. Usted ha encontrado un insecto donde murió el servidor mientras que ejecutaba la pregunta. Fuente

Toma tiempo y esfuerzo para identificar y para solucionar estos problemas. Discurso de experiencia no es a menudo lo que mira en el primer lugar. No asuma cualquier cosa, eliminan diligente todas las posibilidades hasta que usted lo soluciona.