MySQL max_allowed_packet 错误

Packet for query is too large (1706 > 1024). You can change this value on the server by setting the max_allowed_packet' variable. 

一旦数据库出现这个问题,基本执行任何查询语句,后台都会报这个错!(除非查询所得数据量特别少)!

先登录数据库,查看 max_allowed_packet 这个参数值

连接数据库服务器,登录 mysql, 执行命令 : 

show variables like '%max_allowed_packate%' 

即可查看这个系统参数目前的值 ! 我的系统,目前显示只有 1024 字节,确实太小了!

通过 mysql 命令更改这个值到 10M !

连接数据库服务器,登录 mysql, 执行命令 : 

set global max_allowed_packet = 100*1024

退出后,重新登录 mysql ,再次查看这个系统项的值, 注意,必须重新登录mysql,否则这个值还是显示为原始值(缓存)!

修改后,这个配置项显示为 10 M !

用dos窗口中

使用net stop mysql命令关闭mysql

然后重启

net start mysql

在linux中如下修改

在 Linux 中,MySQL 对应的配置文件是 my.cnf , 我们在Linux终端输入如下命令 : 

mysql --help | grep my.cnf

可以查看 MySQL 所使用的 my.cnf 列表(优先级列表,先找到的配置文件生效),MySQL 会逐个目录寻找这个文件,直到找到为止!

我们逐个目录找到我们系统 MySQL 所使用的 my.cnf 配置文件,找到对应的配置项,修改为 10M 即可。

然后重启数据库;

猜你喜欢

转载自1069843121.iteye.com/blog/2405752