MYSQL error: Got a packet bigger than ‘max_allowed_packet’ bytes

[ERROR] console - Error: ER_NET_PACKET_TOO_LARGE: Got a packet bigger than 'max_allowed_packet' bytes

在使用 text,longtext 類型執(zhí)行數(shù)據(jù)錄入時(shí),有時(shí)會(huì)拋出這個(gè)異常,從字面理解就是當(dāng)前包大小超過 mysql 系統(tǒng)設(shè)置的包大小無法執(zhí)行操作。

解釋一下包大小這個(gè)東西:簡(jiǎn)單來說就是mysql把當(dāng)前執(zhí)行的mysql語句看作是一個(gè)包,而對(duì)這個(gè)包大小的限制即是對(duì)當(dāng)前mysql語句長(zhǎng)度的限制。

解決辦法:
(1) Linux 下:進(jìn)入服務(wù)器路徑 /etc/mysql/ 找到 my.cnf 在里面的 mysqld 段中找到 max_allowed_packet = 大小修改到適當(dāng)大小并保存,然后重新啟動(dòng) mysql 服務(wù)器,即可。如果沒有這行就增加這行。
(2) Windows下:進(jìn)入到mysql安裝路徑下,找到 my.ini 文件,在[mysqld]部分(不在這部分沒用)添加一句:set-variable=max_allowed_packet=大小。保存后重新起動(dòng)mysql服務(wù)。

那個(gè)大小的設(shè)置在 linux 下可以直接寫 10M、20000K之類的但是在windows下就只能換算成byte.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容