1. 程式人生 > >MySQL修改預設Blob資料型別大小(解決上傳1M以上檔案失敗的問題)

MySQL修改預設Blob資料型別大小(解決上傳1M以上檔案失敗的問題)

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