linux下mysql的max_allowed_packet值不生效问题.

作业本_ 2016-06-16 09:12:36
linux下mysql的max_allowed_packet值还原成了1024,各种方法修改以后,重启mysql服务,使用命令show VARIABLES like '%max_allowed_packet%';显示为修改后的值,但是程序在请求时还是显示
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1115 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
,希望遇到过的朋友能帮忙看看怎么解决,感谢。
...全文
1401 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
作业本_ 2016-06-20
  • 打赏
  • 举报
回复
引用 3 楼 kxjrzyk 的回复:
看你的错误提示,并不是因为修改没成功,而是修改为1024后这个值太小了,该值默认为4MB,如果你内存比较大,可设置为16MB,如果这个值太小,数据包会受到限制,就会报错 set global max_allowed_packet = 1024*1024*16;
不是这个原因,重装mysql以后就好了,估计是之前配置有错。但是现在又有个新的问题,这个值会不定时的还原为1024,又得必须去修改才能用。
作业本_ 2016-06-17
  • 打赏
  • 举报
回复
引用 1 楼 kxjrzyk 的回复:
应该加上global,否则只修改会话自己的变量: set global max_allowed_packet = 1024; 如果要重启MYSQL后还有效,可设置为: 可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改 max_allowed_packet = 1024
能想到的方法都试过了,查询显示是修改成功了,但是程序访问的时候还是显示为1024。
生命沉思者 2016-06-17
  • 打赏
  • 举报
回复
看你的错误提示,并不是因为修改没成功,而是修改为1024后这个值太小了,该值默认为4MB,如果你内存比较大,可设置为16MB,如果这个值太小,数据包会受到限制,就会报错 set global max_allowed_packet = 1024*1024*16;
生命沉思者 2016-06-17
  • 打赏
  • 举报
回复
应该加上global,否则只修改会话自己的变量: set global max_allowed_packet = 1024; 如果要重启MYSQL后还有效,可设置为: 可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改 max_allowed_packet = 1024

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧