linux中系统报错com.mysql.jdbc.PacketTooBigException: Packet for query is too large

mysql5.7运行的项目突然进不去了,查看日志报错com.mysql.jdbc.PacketTooBigException: Packet for query is too large

百度了一下说是   mysql的max_allowed_packet设置过小引起的,我一开始设置的是1M(我也没设置过,可能是系统默认的),后来改为了20M。中间遇到了不少问题,网上的方法是具体可以参考这一片文章https://blog.csdn.net/fly0744/article/details/13623079

进入我们linux中的数据库,进入到mysql中执行

查看目前配置
show VARIABLES like '%max_allowed_packet%';

显示的结果为:

+--------------------+---------+ | Variable_name      | Value   | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+  

以上说明目前的配置是:1M

大佬给出的方法是

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过

mysql --help | grep my.cnf

去寻找my.cnf文件。
 

我照着做了一下,问题来了

1.没有my.cnf文件,我百度了很久也没有找到,在一篇文章中有了答案https://blog.csdn.net/djcode/article/details/78621772

在5.7.18版本中,使用tar.gz安装时,也就是压缩包解压出来安装这种,已经不再需要my.cnf文件也能正常运行。我们需要自己新建一个,在etc文件夹中

touch my.cnf 

然后将我们需要的东西写入,这里我么只需要写入max_allowed_packet = 20M,但是需要在[mysqld]中

因此在新建的文件夹中写上

[mysqld]

max_allowed_packet = 20M

退出即可

下载就需要重启数据库了,网上有很多方法,我试了几种,没有成功,最后是在mysql

安装目录的bin文件夹中执行 ./mysqladmin -uroot -p shutdown 即可,然后我又出现了问题

2.系统提示 -bash: mysqladmin: command not found  参考文章https://blog.csdn.net/qq1139991268/article/details/79577444

这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin 执行这个即可

然后我们再运行 ./mysqladmin -uroot -p shutdown 就关闭了数据库,执行完后稍等一下,不要着急按回车

然后我们再次启动数据库,我执行的是 nohup ./mysqld_safe & 后台启动,关闭窗口后也运行

这样就可以了

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值