En MySQL, un paquete o paquete de comunicación se refiere a una sola instrucción SQL enviada a un servidor MySQL. También se refiere a una fila individual que ha respondido al cliente o registro binario desde el servidor MySQL.
Esto significa que si el cliente o el servidor obtiene un paquete más grande que el parámetro SET MAX_ALLOW_PACKET, devuelve un error "ERR_NET_PACKET_TOO_LARGE". El servidor o el cliente pueden cerrar la conexión.
Este artículo demostrará cómo puede cambiar el tamaño máximo del paquete tanto en MySQL Client como en MySQL Server.
¿Qué es max_allow_packet??
El max_allow_packet es una variable de sesión que determina el número de bytes enviados o recibidos en un solo paquete de comunicación.
Verifique el tamaño del paquete máximo actualizado actual
Podemos verificar el tamaño máximo de paquete permitido obteniendo los valores de las variables mySQL.
A continuación se muestra una consulta de ejemplo:
Mostrar variables como 'max_allowed_packet';
La consulta anterior debe devolver el tamaño máximo de paquete permitido en bytes como:
| Variable_Name | Valor |
| ------------------ | -------- |
| max_allowed_packet | 67108864 |
Nuestro ejemplo muestra que el tamaño de paquete máximo actualizado actual es 67108864 bytes, o aproximadamente 67 MB.
Recuerde que aunque MySQL nos permite cambiar el valor máximo de tamaño de paquete permitido, el tamaño de paquete más grande posible es 1 GB.
Cambiar el max_allowed_packet en mysql
Método 1 - Configuración del lado del cliente y del servidor
Debemos cambiar las configuraciones del cliente y el servidor para aumentar o disminuir el valor del tamaño del paquete max_allowed.
Esto proviene del uso de valores independientes por parte de MySQL tanto para MySQLD como para el cliente. Por lo tanto, el valor que obtiene de las variables de programa como el comando 'max_allowed_packet' se refiere al valor máximo en el lado del servidor.
Para establecer el valor máximo en el lado del cliente, podemos ejecutar el comando:
mysql -u root -p --max_allowed_packet = 100m
El comando anterior establece el tamaño del paquete en 100 MB en el lado del cliente.
Tenga en cuenta que el paquete máximo predeterminado permitido en el lado del cliente es de 16 MB.
En el lado del servidor, modifique el tamaño del paquete como:
mysqld -u root -p --max_allowed_packget = 128m
Tenga en cuenta que el paquete máximo de STHE predeterminado permitido en el lado del servidor es de 64 MB.
Método 2 - Lado del servidor sin reiniciar
Si tiene súper privilegios en el servidor, puede cambiar el valor del paquete MAX utilizando el comando set global como:
Establecer global max_allowed_packet = 128,000,000;
Esto aumenta el valor max_allowed_packget a 128mb sin reiniciar el servidor. Sin embargo, requiere super privilegios.
Método 3 - Edición del archivo de configuración
Otro método que puede usar para aumentar o disminuir el paquete máximo permitido es editar el archivo de configuración.
En el directorio de instalación de MySQL, ubique el my.archivo ini (windows). De manera predeterminada, el archivo se encuentra en C: \ ProgramData \ MySQL \ MySQL Server 8.0
Editar el archivo y cambiar el valor max_allowed_packet a su tamaño de destino.
Por ejemplo, podemos establecer el tamaño del paquete en 128 MB como se muestra:
Guarde y cierre el archivo. Reinicie el servicio MySQL para recargar la nueva configuración.
En Linux, necesitas editar el mysqld.archivo conf. En la mayoría de los casos, este archivo se encuentra en/etc/mysql/mysqld.confusión.d/mysqld.CNF
Del mismo modo, edite y cambie el tamaño max_allowed_packet al valor deseado. Del mismo modo, reinicie el servicio para recargar los cambios.
Conclusión
En este artículo, aprendió qué es mysql max_allowed_variable, cómo verificar el tamaño máximo de paquete permitido y varios métodos para aumentar o disminuir el tamaño del paquete.