Las bases de datos desempeñan un papel crucial en la mayoría de los sitios web modernos, lo que hace que los errores que afectan a estas sean especialmente preocupantes. En esta oportunidad, el error “MySQL server has gone away” puede generar la falsa impresión de que la base de datos se ha perdido, lo que además de alertarnos podría hacernos pensar que debemos recurrir a la última copia de seguridad que tengamos disponible para restaurar el sitio.
A pesar de sonar intimidante, solucionar el error “MySQL server has gone away” es relativamente sencillo. De hecho, con las instrucciones adecuadas, es posible tener el sitio web nuevamente en funcionamiento en cuestión de minutos.
A continuación vamos a definir el motivo por el cual aparece el error “MySQL Server Has Gone Away” y las posibles acciones que nos ayudaran a resolver el problema.
Tabla de contenidos
¿Por qué aparece el error “MySQL Server Has Gone Away” en WordPress?
Este error ocurre cuando la conexión entre el servidor de MySQL y nuestro sitio web se interrumpe o se cierra inesperadamente. Una de las razones más comunes de este error es cuando la base de datos alcanza un tamaño considerable y la ejecución de consultas y operaciones se vuelve más exigente en términos de recursos.
Cuando la base de datos de WordPress es demasiado grande, el servidor MySQL puede enfrentar dificultades para manejar las consultas y puede cerrar la conexión para evitar el agotamiento de recursos. Esto puede causar que aparezca el error “MySQL server has gone away” y resultar en que tengamos la percepción de que nuestro sitio web se ha caído.
Considerando los motivos principales por los que puede ocurrir este error vamos a enlistar las posibles causas las cuales nos ayudaran a entender y determinar como solucionar el error “MySQL server has gone away”.
Tiempo de espera de conexión: si la conexión entre WordPress y la base de datos MySQL tarda demasiado en responder, se puede producir el error “MySQL server has gone away”. Esto puede ocurrir debido a problemas de red, una base de datos muy ocupada o una configuración relativamente baja del tiempo de espera.
Tamaño de la base de datos: si la base de datos de WordPress es muy grande y contiene una gran cantidad de datos, la ejecución de consultas puede llevar demasiado tiempo y agotar los recursos del servidor. Esto puede hacer que la conexión con el servidor MySQL se cierre y por lo tanto se genere el error.
Configuración incorrecta del servidor MySQL: algunas configuraciones del servidor MySQL pueden limitar la cantidad de tiempo o recursos disponibles para las consultas. Si estas configuraciones no se ajustan de manera correcta, pueden provocar el cierre de la conexión y el surgimiento del error “MySQL server has gone away”.
Problemas de memoria: Si el servidor no tiene suficiente memoria para manejar las consultas y operaciones de la base de datos, puede cerrar la conexión con MySQL y dar como resultado el error “MySQL server has gone away”.
Plugins o temas conflictivos: Algunos plugins o temas de WordPress pueden tener conflictos con la base de datos o realizar consultas de manera ineficiente, lo que también puede provocar el error.
Es importante investigar y diagnosticar el problema específico en nuestro sitio WordPress para poder aplicar la solución adecuada. Esto puede implicar revisar los registros de errores, ajustar la configuración del servidor o desactivar plugins y temas problemáticos.
¿Cómo solucionar el error “MySQL Server Has Gone Away” en WordPress?
Teniendo presente los escenarios en los cuales puede surgir como resultado el error “MySQL server has gone away” vamos a plantear una serie de posibles soluciones que nos ayudaran a resolver el problema.
Aumentar el tiempo de espera: Podemos ajustar el tiempo de espera de conexión añadiendo una linea de codigo en el archivo de configuración de WordPress “wp-config.php”.
Para realizar esta modificación es necesario acceder a los archivos base de nuestra instalación de WordPress los cuales se encuentran en el directorio de la instalación, para inspeccionar estos archivos debemos ingresar utilizando un cliente FTP o el administrador de archivos en el panel de control de tu proveedor de hosting web.
Una vez ubicado el archivo de “wp-config.php” vamos a proseguir a agregar la siguiente línea de codigo justo antes de la línea que dice “/* That’s all, stop editing! Happy blogging. */”:
ini_set('max_execution_time', 300);
Esto establecerá el tiempo de espera de conexión en 300 segundos (5 minutos). Es posible ajustar este valor según sea necesario.
Hay otra via en la cual podemos aumentar el tiempo de espera si no se desea modificar o agregar codigos en el archivo de “wp-config.php” es editando el archivo “wp-db.php” de WordPress.
El archivo “wp-db.php” en WordPress es un componente esencial del núcleo de WordPress que se encarga de la gestión de la base de datos. Este archivo podremos encontrarlo en la carpeta wp-includes dentro del directorio de instalacion de nuestro sitio web.
Al editarlo, es necesario ubicar la siguiente linea de codigo. (De no ubicarse el codigo en el archivo base puede estar ubicado en su lugar en el archivo “class-wpdb.php”)
$this->ready = true;
Para agregar justo despues la siguiente linea de codigo.
$this->query("set session wait_timeout=300");
Esta accion lo que hara es establecer su valor de tiempo de espera de PHP en 300 segundos (5 minutos). Es posible ajustar este valor según sea necesario.
Aumentar los límites de memoria: si el error se debe a problemas de memoria, es posible aumentar los límites de memoria disponibles para nuestro sitio en WordPress.
Tal como el punto anterior podemos agregar las siguientes líneas de codigo al archivo wp-config.php, justo debajo de la línea que establece el tiempo de espera:
define('WP_MEMORY_LIMIT', '256M'); define('WP_MAX_MEMORY_LIMIT', '512M');
Esto establecerá el límite de memoria en 256 megabytes para uso normal y 512 megabytes para uso máximo. Nuevamente, podemos ajustar estos valores según sea necesario.
Desactivar plugins y temas problemáticos: algunos plugins o temas pueden causar conflictos con la base de datos y provocar el error. Desactiva todos los plugins y cambia temporalmente a un tema predeterminado de WordPress, como Twenty Twenty-Three.
Luego, verifica si el error persiste. Si el error desaparece, puedes activar los plugins y temas uno por uno para identificar cuál está causando el problema.
Optimizar la base de datos: si la base de datos es demasiado grande o contiene tablas innecesarias, podemos optimizarla para mejorar el rendimiento. Utiliza un plugin de optimización de bases de datos, como WP-Optimize para eliminar revisiones antiguas, datos transitorios y tablas no utilizadas. Antes de realizar cualquier cambio en la base de datos, debemos asegurarnos de hacer una copia de seguridad completa.
(Visita el plugin haciendo clic en la imagen ↑)
Consultar con el proveedor de hosting: si ya hemos seguido los pasos anteriores y el error persiste, es posible que el problema esté relacionado con la configuración del servidor MySQL o con limitaciones impuestas por el proveedor de hosting. En este caso, es recomendable contactar directamente con el proveedor de hosting y proporcionarles información detallada sobre el error para obtener la asistencia concreta que requerimos.
Es importante siempre hacer una copia de seguridad completa de nuestro sitio web antes de realizar cualquier cambio importante en los archivos de configuración o en la base de datos. Esto nos permitirá revertir los cambios en caso de que algo salga mal.
Conclusión
A medida que nuestro sitio web en WordPress crece, la cantidad de datos almacenados en la base de datos también aumenta. Sin embargo, este crecimiento puede llevar a errores como el “MySQL server has gone away”.
Como hemos podido apreciar, este error ocurre cuando la conexión entre el servidor MySQL y el sitio web se interrumpe debido al tamaño excesivo de la base de datos y la carga de gran número de consultas. Debemos considerar el optimizar y administrar adecuadamente la base de datos para evitar este error y mantener un funcionamiento óptimo del sitio.
También te puede interesar:
- Cómo limpiar la base de datos de WordPress
- Crear o gestionar usuarios en base de datos MySQL
- Función get_option en WordPress, qué es y cómo usarla
- Cómo Solucionar, “Parece que Tu Instalación de PHP no Cuenta con la Extensión de MySQL, Necesaria para Hacer Funcionar WordPress”
- Solucionar el error “El enlace que seguiste ha caducado” en WordPress
- Solucionar el error 105 ERR_NAME_NOT_RESOLVED para ver tu web en Chrome
¿Te ha resultado útil este artículo?
Equipo de soporte WordPress y Woocommerce en Webempresa.