服务器最近老是出现 Packet for query is too large的问题,看了下是要设置mysql的max_allowed_packet。
我找到my.ini将里面设置为max_allowed_packet=16M;但是mysql启动后通过show VARIABLES like '%max_allowed_packet%';发现它的值还是1024。
直到后来看了一篇博客,他用command设置set global max_allowed_packet = 16M无效,但是通过set global max_allowed_packet = 2*1024*1024*10设置却生效了。
我也就想到了在my.ini里面是不是也可以通过max_allowed_packet = 2*1024*1024*10这种方式来设置,结果发现这样设置后mysql无法启动,于是就其设置为算出来后的值即max_allowed_packet=20971520,保存重启mysql,用命令查询发现ok了。
结论:有些服务器下的mysql由于某些原因无法将M转为k。