Cambie el tamaño max_allowed_packet en el servidor MySQL

Mehvish Ashiq 20 junio 2023
  1. Cambie el tamaño max_allowed_packet en el servidor MySQL
  2. Cambie el tamaño max_allowed_packet en el servidor MySQL usando el sistema operativo Windows
  3. Cambie el tamaño max_allowed_packet en el servidor MySQL usando el sistema operativo Ubuntu
Cambie el tamaño max_allowed_packet en el servidor MySQL

Este tutorial enseña cómo cambiar el tamaño de max_allowed_packet en el servidor MySQL. Para aprender eso, usaremos dos sistemas operativos, Windows 10 y Linux (Ubuntu).

Cambie el tamaño max_allowed_packet en el servidor MySQL

Si intentamos cargar archivos más grandes que el valor predeterminado de max_allowed_packet, obtenemos un error que dice Paquetes más grandes que max_allowed_packet no están permitidos.

Para eliminar este error, necesitamos cambiar el tamaño de max_allowed_packet. Pero antes de eso, verifiquemos su valor predeterminado de la siguiente manera.

mysql> SHOW VARIABLES LIKE 'max_allowed_packet';

Producción :

+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.06 sec)

En este momento, el tamaño de max_allowed_packet es de 4 MB, equivalente a 4194304 Bytes. Teniendo en cuenta MySQL Docs, MySQL Client y Server tienen su propio tamaño max_allowed_packet.

El valor que vemos arriba usando MOSTRAR VARIABLES COMO 'max_allowed_packet'; query es el valor en el lado del servidor MySQL. Es necesario aumentar el valor de max_allowed_packet si queremos manejar los paquetes más grandes.

Supongamos que queremos cambiarlo a 50 MB. Podemos hacerlo actualizando el archivo de configuración en el lado del servidor (una sección llamada [mysqld] en el archivo my.ini), así como en el lado del cliente (una sección llamada [mysql] o [cliente] en el archivo my.ini).

También podemos cambiar esta configuración mediante una consulta SQL si tenemos un privilegio (permiso) SUPER. ¿Cómo? Veamos ambas soluciones a continuación.

Cambie el tamaño max_allowed_packet en el servidor MySQL usando el sistema operativo Windows

  1. Abra la línea de comandos de Windows y navegue por la ruta de instalación. MySQL Server está instalado en C:\Program Files\MySQL\MySQL Server 8.0 si no cambió la ubicación predeterminada.

  2. Vaya a la carpeta bin usando cd bin.

  3. Escriba mysql -u root -p contraseña para iniciar sesión en el servidor MySQL. Estamos entrando como usuario root; puede utilizar su nombre de usuario y contraseña.

  4. Una vez que estemos dentro, ejecute la siguiente consulta para cambiar el tamaño de max_allowed_packet en MySQL Server.

    mysql> SET GLOBAL max_allowed_packet=52428800;
    
  5. Vuelva a ejecutar la siguiente consulta para confirmar el cambio.

    mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
    

    Producción:

    +--------------------+---------+
    | Variable_name      | Value   |
    +--------------------+---------+
    | max_allowed_packet | 52428800|
    +--------------------+---------+
    1 row in set (0.00 sec)
    

La solución que se proporciona a continuación es usar el archivo de configuración ubicado en la ruta predeterminada si ha instalado MySQL Server en la ubicación predeterminada. La ruta del archivo de configuración es C:\ProgramData\MySQL\MySQL Server 8.0\my.ini.

  1. Abra el archivo mi.ini.

  2. Busque la sección [mysqld] y agregue una línea debajo de esta sección.

    max_allowed_packet=50M
    
  3. Guarde y cierre el archivo.

  4. Reinicie el servidor MySQL para ver el cambio.

Cambie el tamaño max_allowed_packet en el servidor MySQL usando el sistema operativo Ubuntu

Después de ingresar al servidor MySQL, podemos usar las mismas consultas en Ubuntu que usamos para el sistema operativo Windows. Los pasos se dan a continuación.

  1. Abra la Terminal de Ubuntu y use sudo su para iniciar sesión como superusuario.

  2. Además, inicie sesión en MySQL Server.

  3. Es bueno verificar el valor predeterminado o anterior de una variable antes de realizar cualquier cambio. Para eso, podemos usar la siguiente consulta.

    mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
    

    Producción:

    +--------------------+---------+
    | Variable_name      | Value   |
    +--------------------+---------+
    | max_allowed_packet | 67108864|
    +--------------------+---------+
    1 row in set (0.00 sec)
    
  1. Ejecute la siguiente consulta para actualizar el valor de max_allowed_packet a 70 MB, que son 73400320 bytes.

    mysql> SET GLOBAL max_allowed_packet=73400320;
    
  2. Podemos ejecutar MOSTRAR VARIABLES COMO 'max_allowed_packet'; consulta para confirmar si se produce el cambio.

Si eres de los que se siente muy cómodo editando los archivos de configuración, la siguiente solución es especialmente para ti.

  1. Abra el archivo de configuración ubicado en la ruta /etc/mysql/mysql.conf.d/mysqld.cnf.

    $ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    
  2. Busque el max_allowed_packet en una sección llamada [mysqld] y cambie su valor a su elección. Si no está allí, agregue la siguiente línea debajo de [mysqld].

    Recuerde, lo estamos cambiando a 70M. Pero, puede escribir su número.

    max_allowed_packet=70M
    
  3. Guarde y salga del archivo.

  4. Utilice systemctl restart mysql para reiniciar el servidor MySQL y ejecute lo siguiente para garantizar la actualización.

    mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
    

    Producción:

    +--------------------+---------+
    | Variable_name      | Value   |
    +--------------------+---------+
    | max_allowed_packet | 73400320|
    +--------------------+---------+
    1 row in set (0.03 sec)
    
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - MySQL Server