MySQL修改默认Blob数据类型大小(解决上传1M以上文件失败的问题)

本文详细解析了在MySQL数据库中遇到的大文件上传错误,并提供了调整配置以支持更大文件的具体步骤,包括修改my.ini文件中的max_allowed_packet参数及重启MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果需要在MySQL中存储二进制数据,那么肯定会用到 BLOB 类型的字段。MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小的不同。

MySQL的四种 BLOB 类型: (单位:字节)
TinyBlob : 最大 255
Blob : 最大 65K
MediumBlob : 最大 16M
LongBlob : 最大 4G

 

那么问题来了:

【问题描述】

现实使用场景中,当你需要上传一段大小超过1M的音频文件时,结果报错了!

 

【原因分析】

MySQL会根据配置限制server接受的数据包大小。插入或更新大的数据包,会受到 max_allowed_packet 参数限制,导致失败。

 

【解决方案】

1、首先看看现在的限制大小是多少:

mysql> show variables like 'max_allowed_packet';

出现了默认值为1048576,也就是1M!

2、修改my.ini文件

找到MySql Server的安装目录,打开my.ini文件,在[mysqld]下面,增加一行:max_allowed_packet=2M

3、重启MySQL服务

4、看看修改后的限制大小是多少:

mysql> show variables like 'max_allowed_packet';

出现了默认值为2097152,也就是2M!搞定~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellokandy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值