GNU/Linux >> Tutoriales Linux >  >> Linux

SET GLOBAL max_allowed_packet no funciona

Hmmmm.. Parece que has golpeado este NOT-A-BUG. :)

Si cambia una variable del sistema global, el valor se recuerda y se utiliza para nuevas conexiones hasta que se reinicia el servidor. (Para hacer que la configuración de una variable del sistema global sea permanente, debe establecerla en un archivo de opciones). El cambio es visible para cualquier cliente que acceda a esa variable global. Sin embargo, el cambio afecta a la variable de sesión correspondiente solo para los clientes que se conectan después del cambio. El cambio de la variable global no afecta la variable de sesión de ningún cliente que esté actualmente conectado (ni siquiera la del cliente que emite la sentencia SET GLOBAL).

Consulte esto también. Lea la explicación de Shane Bester.

Debe cambiar desde el archivo my.ini/my.cnf y reiniciar el servidor para que la configuración max_allowed_packet surta efecto.


Después de ejecutar

set global max_allowed_packet=1000000000;

tienes que reiniciar mysql antes

SHOW VARIABLES LIKE 'max_allowed_packet'

mostrará el nuevo valor.

Tengo este problema al reiniciar mysql a través de las preferencias del sistema MAC OSX y el valor no ha cambiado. Entonces, al iniciar sesión en mysql a través de la consola

mysql -u root -p

cambiarlo y luego reiniciar mySql pareció funcionar. Sin embargo, podría haber sido una peculiaridad de OS X.


Para aquellos con una configuración de MariaDb, el problema podría ser que el max_allowed_packet la variable se sobrescribe con un archivo de configuración llamado más tarde.

En mi caso intenté importar una base de datos y el servidor me respondió:ERROR 2006 (HY000) en la línea 736:MySQL server ha desaparecido

Descubrí que el archivo:

/etc/mysql/mariadb.conf.d/50-server.cnf

se llama mas tarde

/etc/mysql/conf.d/mysql.cnf

Intenté cambiar continuamente el archivo "mysql.cnf", pero el valor se sobrescribió en "50-server.cnf".

Entonces la solución es ingresar al archivo

/etc/mysql/mariadb.conf.d/50-server.cnf

y en lugar de "max_allowed_packet =16M" pon el valor deseado como ejemplo"max_allowed_packet=64M"


Linux
  1. ¿Por qué la expansión variable sin $ funciona en expresiones?

  2. LD_LIBRARY_PATH no parece funcionar

  3. ¿Variable global de todo el sistema/semáforo/mutex en C++/Linux?

  4. ¿Dónde está configurada la variable PATH en Ubuntu?

  5. ¿Por qué Bash `(())` no funciona dentro de `[[]]`?

Cómo configurar la replicación de esclavo maestro de MySQL

Cómo establecer la variable de entorno en Windows

Cómo establecer variables de entorno en MacOS

Cómo establecer la variable de entorno en Bash

chmod no funciona

¿Por qué el puente de Linux no funciona?