运行 Sonar 分析时出现 PacketTooBigException 异常

10

当我尝试运行Sonar分析时,我遇到了这个异常

com.mysql.jdbc.PacketTooBigException: 查询的数据包过大(1807198 > 1048576)。 你可以通过设置max_allowed_packet变量来更改服务器上的此值。

在Sonar服务器上应该在哪里设置这个值?

我正在使用Sonar 3.4.1和MySQL 5.x。

2个回答

20

找到配置文件my.cnf(如果你的MySQL运行在Windows上,找到my.ini

将以下内容添加到配置文件中

[mysqld]
max_allowed_packet=256M

然后,重新启动mysql

  • 对于Linux系统,请使用service mysql restart命令。
  • 对于Windows系统:
    • net stop mysql
    • net start mysql

试一下吧!!!


谢谢。我的文件位于 /etc/my.cnf。相关信息在这里:http://serverfault.com/questions/346647/mysql-wheres-the-my-cnf-path。查找可能的位置的魔法命令是 mysql --help | grep "Default options" -A 1 - Ashley Frieze
5
我需要重新启动我的声纳服务器才能最终使它正常工作。sudo service sonar restart - Ashley Frieze
重新启动Sonar服务器以及解决方案对我有用。感谢@AshleyFrieze的提示。 - Udara Jayawardana

6

我曾经也遇到过同样的问题,但是我们有一个限制条件,我们无法更改MySQL服务器配置(max_allowed_packet)

通过更改客户端jdbc URL配置,我成功解决了这个问题 -> 而服务器配置保持不变。

jdbc:mysql://[dbhost]:[dbport]?useUnicode=true&rewriteBatchedStatements=true&characterEncoding=utf8&useServerPrepStmts=true&maxAllowedPacket=20000000&useSSL=false

请查看mysql连接器配置参考这里
还有一篇SO文章详细讨论了客户端的更改,请查看这里
希望这可以帮助你!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接