设置“max_allowed_pa​​cket” – 命令行与configuration?

使用以下命令通过MySQL命令行设置max_allowed_packet什么区别:

 set global max_allowed_packet=100000000; 

并通过编辑MySQL my.ini(Win)或my.cnf(Linux)configuration并将下面的代码放置在[mysqld]

 max_allowed_packet=100M 

 set global max_allowed_packet = 1000000000 

这将max_allowed_packet设置为10亿字节或1 GB。

 max_allowed_packet=100M 

这将其设置为104857600字节或100 MiB。


假设你的额外零是无意识的,通过命令行和configuration设置的唯一区别是configuration文件支持使用JEDEC二进制前缀的速记。 另外,服务器重新启动时, set global将丢失。

另一个主要区别是,如果在my.cnf(或my.ini)中设置variables,则max_allowed_pa​​cket的设置将在mysql重新启动后存活。

另外,如果你在全局设置这个variables,那么设置会话variables也是有意义的,特别是在会话需要的时候。

呃,我刚刚读了hobodave的回答。 更清楚的答案。 我给他+1