mysql调优之max_allowed_packet
线上启动服务,发现过一会就自动失败退出,然后查看了一下日志
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysJobServiceImpl': Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Couldn't store job: Packet for query is too large (2,128 > 1,024). You can change this value on the server by setting the 'max_allowed_packet' variable. [See nested exception: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (2,128 > 1,024). You can change this value on the server by setting the 'max_allowed_packet' variable.]
百度了一下,意思是:指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。
那么问题找到了,怎么解决
临时方法,重启会失效
mysql> show VARIABLES like '%max_allowed_packet%'; +---------------------------+------------+ | Variable_name | Value | +---------------------------+------------+ | max_allowed_packet | 1024 | | mysqlx_max_allowed_packet | 67108864 | | slave_max_allowed_packet | 1073741824 | +---------------------------+------------+ 3 rows in set (0.01 sec) mysql> set global max_allowed_packet = 2*1024*1024*10; Query OK, 0 rows affected (0.00 sec)
退出,重新进入查看即可。
永久,修改配置文件
修改etc/my.cnf ,在mysqld段下添加
max_allowed_packet = 64M
越学越感到自己的无知
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现