mysql查询数据库报错_mysql数据库正常查询报错(设置max_allowed_packet)-爱制作

报错日志:### The error may exist in io/base/modules/enterpriseInfo/dao/EnterpriseInfoDao.java (best guess)

### The error may involve defaultParameterMap

### The error occurred while setting parameters

### SQL: SELECT id AS id,is_del AS isDel,`name`,appid,credit_code AS creditCode,register_address AS registerAddress,communication_address AS communicationAddress,found_date AS foundDate,legal_person AS legalPerson,legal_person_phone AS legalPersonPhone,principal,principal_we_chat AS principalWeChat,principal_phone AS principalPhone,email,`scale`,supervision_industry AS supervisionIndustry,economy_type AS economyType,business_scope AS businessScope,registered_capital AS registeredCapital,employee_num AS employeeNum,total_assets AS totalAssets,fixed_assets AS fixedAssets,remark,create_time AS createTime,create_name AS createName,last_update_time AS lastUpdateTime,last_update_name AS lastUpdateName,fax,postal_code AS postalCode,subjection,main_income AS mainIncome,annual_income AS annualIncome,annual_profit AS annualProfit,abbreviation,longitude,dimension,product,introduce,group_flag AS groupFlag,group_company AS groupCompany,parent_company_name AS parentCompanyName,parent_company_code AS parentCompanyCode,divisions_one AS divisionsOne,divisions_two AS divisionsTwo,supervision_industry_two AS supervisionIndustryTwo,economy_type_two AS economyTypeTwo,national_type_one AS nationalTypeOne,national_type_two AS nationalTypeTwo,national_type_three AS nationalTypeThree,national_type_four AS nationalTypeFour,subordinate FROM qy_enterprise_info WHERE id=?  AND is_del=0

### Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1375 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

; ]; Packet for query is too large (1375 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1375 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

今天像往常一样启动项目。访问,进首页,然后。。。。报错了!看了下报错日志就是上边这段。

大致意思是:查询的数据大于mysql设置返回数据的最大值,让去改max_allowed_packet参数,有两种办法解决该问题

方法一(临时解决,最快速,一条SQL即可解决):

用SQL语句的方法解决,可以先查询一下当前max_allowed_packet的大小SHOW VARIABLES LIKE '%max_allowed_packet%';

bf33ba127a14968879bd64d0a9be4bbd.png

然后执行:SET GLOBAL max_allowed_packet = 10 * 1024 * 1024;

aeb77772d6c0a261493b626aa09612d9.png

执行完SQL后重启下自己项目后问题就解决不了,但是这个方法治标不治本,遇到数据库重启后max_allowed_packet还会恢复到之前的1024,开发遇到此问题可临时解决下,忙完手头的事情可使用第二种方法彻底解决。方法二(修改数据库配置文件):

找到数据库的安装目录,这里以windows为例,找到数据库的配置文件

723f0446eaa408b0d6fe9382cd7ae2ac.png

找到配置文件后,编辑下他,把max_allowed_packet解开注释,或者添加上去,如下图

62ebceb28e15cad4b0f4d28ff55fb4fd.png附上我的配置文件内容# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

# These are commonly set, remove the # and set as required.

# basedir = .....

# datadir = .....

# port = .....

# server_id = .....

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

max_allowed_packet = 32M

修改完配置文件后,重启下Mysql的服务即可根治

文章来源:

不凡

版权声明:本网站为非营利性网站,除表明版权来源的作品外,所发布所有作品的著作权均为本站所有。

赞 1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值