問題
因?yàn)闃I(yè)務(wù)需求蜀肘,一個(gè)表里一個(gè)字段需要存在默認(rèn)圖片的base64,這樣數(shù)據(jù)多了,導(dǎo)致單張表的過大
單張表size 過大,導(dǎo)致導(dǎo)入失敗
解決:
mysql 命令行模式下
set global max_allowed_packet = 1024*1024*160;
設(shè)置單張表的大小為 160 M;
詳解:
mysql 命令行模式下:
show VARIABLES like '%max_allowed_packet%';
捕獲.PNG
max_allowed_packet : 單張表的最大允許大小為 4 M突委;
slave_max_allowed_packet:最大允許值 1 G
max_allowed_packet 針對(duì)的是一個(gè)事務(wù)中的一行記錄大小,當(dāng)一行記錄超過了限制的大小冬三,將會(huì)報(bào)錯(cuò)匀油。sql文件中每次insert完進(jìn)同一張表的所有數(shù)據(jù)被稱為一個(gè)數(shù)據(jù)包(packet),max_allowed_packet就是來限制這個(gè)的大小的閾值勾笆,大于這個(gè)值敌蚜,mysql的I/O連接會(huì)關(guān)閉,就會(huì)報(bào)這個(gè)錯(cuò)窝爪。
set global max_allowed_packet = 1024*1024*160;
以上指令為:設(shè)置packet 的大小
結(jié)果如圖:
捕獲.PNG
經(jīng)過測(cè)試弛车,MySQL 服務(wù)重啟,packet 大小恢復(fù)默認(rèn) 4M