jueves, 18 de diciembre de 2008

Aumentar el tamaño de buffer del MYSQL

Me encontré una vez un cliente que utilizaban una aplicación LAMP para registrar incidencias informáticas donde los usuarios podian subir imagenes para mostrar sus pantallazos de error.

Un buen día esta aplicación la tuve que migrar a un nuevo servidor y cuando todo parecía ir bien, los ficheros de más de dos MB no había manera de subirlos. Urgando en el código de la aplicación vi que el fichero se almacenaba binariamente en un campo de una tabla y ya me hizo sospechar que MYSQL tendria alguna variable para restringir el tamaño de buffer.

la susodicha variable es max_allowed_packet y controla el tamaño máximo del buffer de comunicación. Para establecer el valor de la variable max_allowed_packet de mysql en 16MB, use cualquiera de los siguientes comandos:

shell> mysql --max_allowed_packet=16777216
shell> mysql --max_allowed_packet=16M

El primer comando especifica el valor en bytes. El segundo especifica el valor en megabytes. Los valores de las variables pueden tener un sufijo K, M, o G (ya sea en mayúsculas o minúsculas) para indicar la unidad, que puede ser kilobytes, megabytes, o gigabytes.

En un fichero de opciones, la variable se coloca sin precederla con dos guiones:

[mysql]
max_allowed_packet=16777216

O bien:

[mysql]
max_allowed_packet=16M


No hay comentarios:

Publicar un comentario