Desarrollo y bases de datos

Qué variables MySQL se pueden cambiar en un hosting gestionado

Revisado el 4 min de lectura mysql variables hosting gestionado bases de datos

MySQL distingue variables globales, que afectan al servidor completo, y variables de sesión, que solo se aplican a una conexión. En un plan de cloud hosting gestionado varias cuentas utilizan el mismo servicio MySQL, por lo que una cuenta no dispone de acceso root ni de privilegios administrativos como los necesarios para modificar variables globales (SYSTEM_VARIABLES_ADMIN en MySQL 8), para cambiar la configuración global.

Alcance de las variables

Los buffers de InnoDB, el límite total de conexiones y determinados registros se gestionan a nivel de servidor. max_allowed_packet tiene valor global y de sesión, pero su valor de sesión es de solo lectura para el servidor MySQL: no se aumenta con un SET SESSION de la aplicación. Otros parámetros, como determinados modos SQL, tiempos de espera o juegos de caracteres, pueden tener valores globales y de sesión diferentes.

Puedes consultar ambos alcances con:

SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';
SHOW SESSION VARIABLES LIKE 'max_allowed_packet';

Variables de sesión

Algunas aplicaciones pueden ejecutar SET SESSION al abrir cada conexión si MySQL permite modificar esa variable. El cambio dura solo durante esa sesión y debe configurarse en el código, framework o conector de base de datos.

No uses SET GLOBAL como solución: fallará por permisos o afectaría a otras cuentas. Tampoco confundas límites PHP, como memory_limit o upload_max_filesize, con variables de MySQL.

Alternativas

  • Divide importaciones o consultas grandes en lotes.
  • Revisa la compatibilidad del modo SQL; no desactives validaciones solo para ocultar datos o consultas incorrectos. Si el proyecto requiere un ajuste de sesión permitido, pruébalo antes.
  • Corrige consultas y esquemas que consuman memoria o tiempo excesivos.
  • Usa tareas por línea de comandos para evitar límites del servidor web o PHP, teniendo en cuenta que esto no modifica los límites del propio MySQL.
  • Ante desconexiones por inactividad, configura la recuperación de conexión y comprueba qué operación terminó antes de repetirla. Una desconexión no demuestra que una escritura haya fallado.
  • Comprueba si una versión actual de la aplicación evita el requisito global.

Antes de descartar la compatibilidad, envíanos el nombre de la variable, el valor requerido y la documentación del software. Podemos comprobar su alcance y evaluar si existe una alternativa por sesión o un ajuste seguro en el servidor, pero no se puede garantizar un cambio global.

Si el requisito resulta incompatible con un entorno compartido y exige privilegios administrativos permanentes, será necesaria una infraestructura bajo control propio, como un VPS o servidor dedicado. Hostsuar no ofrece actualmente esos entornos; revisa las diferencias entre un VPS y nuestro cloud hosting.

Un SET SESSION ejecutado en phpMyAdmin solo modifica esa conexión; no cambia las sesiones de tu web ni las futuras conexiones de un pool. Consulta el alcance y permisos de cada variable para la versión que uses y verifica el valor desde la propia aplicación.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.