modificar - set global variables mysql
SET GLOBAL max_allowed_packet no funciona (3)
Descubrí cómo cambiar el valor predeterminado de max_allowed_packet
en MySQL usando SET GLOBAL
. Sin embargo, cada vez que usé este comando, el valor predeterminado permaneció intacto. Utilicé estos comandos:
mysql --user=root --password=mypass
mysql> SET GLOBAL max_allowed_packet=32*1024*1024;
Query OK, 0 rows affected (0.00 secs)
mysql> SHOW VARIABLES max_allowed_packet;
Y luego el resultado es max_allowed_packet = 1048576. ¿Qué me falta?
Hmmmm ... Parece que has acertado con este NOT-A-BUG . :)
Si cambia una variable global del sistema, el valor se recuerda y se usa para nuevas conexiones hasta que el servidor se reinicia. (Para que la configuración de una variable global del sistema 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 la variable de sesión correspondiente solo para los clientes que se conectan después del cambio. El cambio de variable global no afecta a la variable de sesión para ningún cliente que esté actualmente conectado (ni siquiera el del cliente que emite la instrucción SET GLOBAL).
Consulte this también. Lea la explicación de Shane Bester.
Debe cambiar el archivo my.ini / my.cnf y reiniciar el servidor para que la configuración max_allowed_packet tenga efecto.
Solo una forma rápida de ver la variable para cualquiera que se encuentre con esto. Para recuperar el valor necesitas correr
SHOW VARIABLES LIKE ''max_allowed_packet''
despues de correr
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. Así que al iniciar sesión en mysql a través de la consola
mysql -u root -p
cambiarlo y luego reiniciar mySql pareció funcionar. Aunque podría haber sido una peculiaridad de OS X.