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

版权声明:本文为博主原创文章,未经博主同意不可随意转载。 https://blog.csdn.net/hellokandy/article/details/82014265

如果需要在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!搞定~

猜你喜欢

转载自blog.csdn.net/hellokandy/article/details/82014265