前因
因为需要写一个文件统一管理平台,需要实现文件上传,下载,预览等功能,Mysql实现文件的存储。使用QT开发UI功能。并成功上传文件(size<4);目前未发现也不知道当文件大于4M时mysql会报错
上线测试
因为自己测试上传的文件都是字节或kb大小;能够成功上传Mysql,没有考虑其他。
经过上线,会提示文件上传失败,然后就去查看错误提示:
QSqlError("2013", "QMYSQL3: Unable to execute statement", "Lost connection to MySQL server during query")
错误,服务器中断连接,
分析
因为有上传成功的例子,肯定不是代码问题,查看mysql配置,查询响应时间,查询数据最大值,默认为4M,经测试文件大于4M时将会出现错误,所以需要修改配置文件,
解决
mysql安装目录或者在系统盘搜素文件 my.ini并打开,
添加语句:
#大小自定义
max_allowed_packet=16M
位置
那么应该将该语句放到配置文件那个地方呢,
[mysql] 之后
or
[mysqld] 之后
两个地方都存放过 并重启Mysql服务,结果还是失败,
最后请将max_allowed_packet语句存放到配置文件末尾,重启服务即可实现上传