than not modificar max_allowed_packet larger got bytes bigger are allowed mysql max-allowed-packet

mysql - modificar - packets larger than max_allowed_packet are not allowed



Error de MySQL 1153: tengo un paquete más grande que bytes ''max_allowed_packet'' (13)

Re my.cnf en Mac OS X cuando se usa MySQL de la distribución de paquetes dmg mysql.com

Por defecto, my.cnf no se encuentra en ninguna parte.

/etc/my.cnf copiar uno de /usr/local/mysql/support-files/my*.cnf a /etc/my.cnf y reiniciar mysqld . (Lo que puede hacer en el panel de preferencias de MySQL si lo instaló).

Estoy importando un volcado de MySQL y obtengo el siguiente error.

$ mysql foo < foo.sql ERROR 1153 (08S01) at line 96: Got a packet bigger than ''max_allowed_packet'' bytes

Al parecer, hay archivos adjuntos en la base de datos, lo que hace que para inserciones muy grandes.

Esto está en mi máquina local, una Mac con MySQL 5 instalada desde el paquete MySQL.

¿Dónde cambio max_allowed_packet para poder importar el volcado?

¿Hay algo más que debería establecer?

Simplemente ejecutando mysql --max_allowed_packet=32M … resultó en el mismo error.


A veces, configuración de tipo:

max_allowed_packet = 16M

En my.ini no está funcionando.

Trate de determinar el my.ini de la siguiente manera:

set-variable = max_allowed_packet = 32M

o

set-variable = max_allowed_packet = 1000000000

Luego reinicie el servidor:

/etc/init.d/mysql restart


Como dijo michaelpryor, debe cambiarlo tanto para el cliente como para el servidor mysqld del daemon.

Su solución para la línea de comandos del cliente es buena, pero los archivos ini no siempre funcionan, dependiendo de la configuración.

Entonces, abra un terminal, escriba mysql para obtener un indicador de mysql y ejecute estos comandos:

set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;

Mantenga abierto el indicador de mysql y ejecute la ejecución de la línea de comandos SQL en una segunda terminal.


En CENTOS 6 /etc/my.cnf, en la sección [mysqld] la sintaxis correcta es:

[mysqld] # added to avoid err "Got a packet bigger than ''max_allowed_packet'' bytes" # net_buffer_length=1000000 max_allowed_packet=1000000000 #


En etc / my.cnf intente cambiar el max_allowed _packet y net_buffer_length a

max_allowed_packet=100000000 net_buffer_length=1000000

Si esto no funciona, intente cambiar a

max_allowed_packet=100M net_buffer_length=100K


Es un riesgo de seguridad tener max_allowed_packet a un valor más alto, ya que un atacante puede empujar paquetes de mayor tamaño y bloquear el sistema.

Por lo tanto, el valor óptimo de max_allowed_packet debe ajustar y probar.

Es mejor cambiar cuando sea necesario (usando set global max_allowed_packet = xxx ) que tenerlo como parte de my.ini o my.conf .


Establezca max_allowed_packet en el mismo (o más) de lo que era cuando lo descargó con mysqldump. Si no puede hacer eso, vuelva a hacer el volcado con un valor menor.

Es decir, suponiendo que lo hayas descargado con mysqldump. Si usaste alguna otra herramienta, estás por tu cuenta.


Esto se puede cambiar en su archivo my.ini (en Windows, ubicado en / Archivos de programa / MySQL / MySQL Server) en la sección del servidor, por ejemplo:

[mysqld] max_allowed_packet = 10M


Estoy trabajando en un entorno de alojamiento compartido y he alojado un sitio web basado en Drupal. No puedo editar el archivo my.conf o my.conf archivo my.conf también.

Por lo tanto, eliminé todas las tablas que estaban relacionadas con Cache y por lo tanto pude resolver este problema. Todavía estoy buscando una solución perfecta / forma de manejar este problema.

Editar : eliminar las tablas crearon problemas para mí, porque Drupal esperaba que estas tablas existieran. Así que vacié el contenido de estas tablas que resolvieron el problema.


La solución es aumentar max_allowed_packet del demonio MySQL. Puede hacer esto a un demonio en ejecución iniciando sesión como Súper y ejecutando los siguientes comandos.

# mysql -u admin -p mysql> set global net_buffer_length=1000000; Query OK, 0 rows affected (0.00 sec) mysql> set global max_allowed_packet=1000000000; Query OK, 0 rows affected (0.00 sec)

Luego para importar tu volcado:

gunzip < dump.sql.gz | mysql -u admin -p database


Poco relacionado con tu problema, así que aquí tienes uno para Google.

Si no has hecho mysqldump el SQL, es posible que tu SQL esté roto.

Acabo de recibir este error al tener accidentalmente un literal de cadena no cerrada en mi código. Pasan los dedos descuidados.

Ese es un fantástico mensaje de error para obtener una cadena fuera de control, ¡gracias por ese MySQL!


Probablemente tenga que cambiarlo tanto para el cliente (que está ejecutando para realizar la importación) Y el demonio mysqld que está ejecutando y aceptando la importación.

Para el cliente, puede especificarlo en la línea de comando:

mysql --max_allowed_packet=100M -u root -p database < dump.sql

Además, cambie el archivo my.cnf o my.ini en la sección mysqld y establezca:

max_allowed_packet=100M

o puede ejecutar estos comandos en una consola MySQL conectada a ese mismo servidor:

set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;

(Use un valor muy grande para el tamaño del paquete.)


Use una variable max_allowed_packet que emita un comando como

mysql --max_allowed_packet=32M -u root -p database < dump.sql