一尘不染

SET GLOBAL max_allowed_pa​​cket不起作用

linux

我发现了如何使用更改max_allowed_packetMySQL中的默认值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_pa​​cket =1048576。我缺少什么?


阅读 489

收藏
2020-06-07

共1个答案

一尘不染

嗯..您似乎击中了这个NOT-A-BUG。:)

如果更改全局系统变量,则该值将被记住并用于新连接,直到服务器重新启动。(要使全局系统变量设置永久生效,您应该在选项文件中进行设置。)该更改对于访问该全局变量的所有客户端都是可见的。但是,更改仅影响更改后连接的客户端的相应会话变量。全局变量更改不会影响当前连接的任何客户端的会话变量(甚至不会发出SET
GLOBAL语句的客户端的会话变量)。

也参考。阅读Shane Bester的说明。

您应该从my.ini / my.cnf文件中更改并重新启动服务器,以使max_allowed_pa​​cket设置生效。

2020-06-07