我发现了如何使用更改max_allowed_packetMySQL中的默认值SET GLOBAL。但是,每次使用此命令时,默认值都保持不变!我使用了以下命令:
max_allowed_packet
SET GLOBAL
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;
然后结果是max_allowed_packet =1048576。我缺少什么?
嗯..您似乎击中了这个NOT-A-BUG。:)
如果更改全局系统变量,则该值将被记住并用于新连接,直到服务器重新启动。(要使全局系统变量设置永久生效,您应该在选项文件中进行设置。)该更改对于访问该全局变量的所有客户端都是可见的。但是,更改仅影响更改后连接的客户端的相应会话变量。全局变量更改不会影响当前连接的任何客户端的会话变量(甚至不会发出SET GLOBAL语句的客户端的会话变量)。
也参考此。阅读Shane Bester的说明。
您应该从my.ini / my.cnf文件中更改并重新启动服务器,以使max_allowed_packet设置生效。