[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)前包大小超過(guò) mysql 系統(tǒng)設(shè)置的包大小無(wú)法執(zhí)行操作预鬓。
解釋一下包大小這個(gè)東西:簡(jiǎn)單來(lái)說(shuō)就是mysql把當(dāng)前執(zhí)行的mysql語(yǔ)句看作是一個(gè)包油啤,而對(duì)這個(gè)包大小的限制即是對(duì)當(dāng)前mysql語(yǔ)句長(zhǎng)度的限制乾闰。
解決辦法:
(1) Linux 下:進(jìn)入服務(wù)器路徑 /etc/mysql/ 找到 my.cnf 在里面的 mysqld 段中找到 max_allowed_packet = 大小修改到適當(dāng)大小并保存陨簇,然后重新啟動(dòng) mysql 服務(wù)器高氮,即可孽亲。如果沒(méi)有這行就增加這行坎穿。
(2) Windows下:進(jìn)入到mysql安裝路徑下,找到 my.ini 文件返劲,在[mysqld]部分(不在這部分沒(méi)用)添加一句:set-variable=max_allowed_packet=大小玲昧。保存后重新起動(dòng)mysql服務(wù)。
那個(gè)大小的設(shè)置在 linux 下可以直接寫 10M旭等、20000K之類的但是在windows下就只能換算成byte.