亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

MySQL Insert數(shù)據(jù)量過大導致報錯 MySQL server has gone away

liaoyg8023 / 3313人閱讀

摘要:直接在上執(zhí)行語句,報錯搜索得知當客戶端或服務(wù)器收到大于字節(jié)的信息包時,將發(fā)出信息包過大錯誤,并關(guān)閉連接。對于某些客戶端,如果通信信息包過大,在執(zhí)行查詢期間,可能會遇到丟失與服務(wù)器的連接錯誤。

接手了同事的項目,其中有一個功能是保存郵件模板(包含圖片),同事之前的做法是把圖片進行base64編碼然后存在mysql數(shù)據(jù)庫中(字段類型為mediumtext)
然后保存三張圖片(大概400k)的時候報錯
MySQL server has gone away

然后查看官方文檔https://dev.mysql.com/doc/ref...

得知可能是以下幾個原因 
服務(wù)器超時
服務(wù)器斷開
向服務(wù)器發(fā)送不正確或太大的查詢
INSERT或者 REPLACE是插入大量行

開始以為是服務(wù)器超時導致的,在網(wǎng)上搜的解決辦法(好吧,先試一下 ,發(fā)現(xiàn)還是不行):

 true
));
?>
Note:
如果想使用持久連接,必須在傳遞給 PDO 構(gòu)造函數(shù)的驅(qū)動選項數(shù)組中設(shè)置 PDO::ATTR_PERSISTENT 。如果是在對象初始化之后用 PDO::setAttribute() 設(shè)置此屬性,則驅(qū)動程序?qū)⒉粫褂贸志眠B接。

直接在Navicat上執(zhí)行sql語句,報錯 [Err] 1153 - Got a packet bigger than "max_allowed_packet" bytes
搜索得知:當MySQL客戶端或mysqld服務(wù)器收到大于max_allowed_packet字節(jié)的信息包時,將發(fā)出“信息包過大”錯誤,并關(guān)閉連接。對于某些客戶端,如果通信信息包過大,在執(zhí)行查詢期間,可能會遇到“丟失與MySQL服務(wù)器的連接”錯誤。
客戶端和服務(wù)器均有自己的max_allowed_packet變量,因此,如你打算處理大的信息包,必須增加客戶端和服務(wù)器上的該變量。一般情況下,服務(wù)器默認max-allowed-packet為1MB
這下問題精確定位了,就是max_allowed_packet配置的問題,

查一下配置 show VARIABLES like "%max_allowed_packet%"; 發(fā)現(xiàn)是1048576(1024*1024),也就是1MB,
但是我的圖片才400K,不應(yīng)該啊,然后網(wǎng)上一查:Base64-encoded 數(shù)據(jù)要比原始數(shù)據(jù)多占用 33% 左右的空間。
還是不確定,直接strlen()返回base64字符串長度1451334,utf8編碼下英文字符1字符占1字節(jié),所以base64編碼后是1451334B(這個是我自己的理解),大于1MB

修改max_allowed_packet配置 set global max_allowed_packet = 410241024;

發(fā)現(xiàn)問題完美解決

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/29182.html

相關(guān)文章

  • 解決PHP腳本 MySQL has gone away錯誤

    摘要:當使用訪問數(shù)據(jù)庫且腳本需要長時間執(zhí)行時,頻繁會遇見的錯誤。分析問題產(chǎn)生原因因為腳本較長時間未與數(shù)據(jù)庫進行通信,導致數(shù)據(jù)庫連接超時與服務(wù)器斷開連接導致,這時使用斷開的數(shù)據(jù)庫連接操作數(shù)據(jù)庫,就會產(chǎn)生的錯誤提示。 當PHP 使用PDO訪問數(shù)據(jù)庫且腳本需要長時間執(zhí)行時,頻繁會遇見’ MySQL server has gone away’的錯誤。分析問題產(chǎn)生原因:因為腳本較長時間未與數(shù)據(jù)庫進行通...

    Scliang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<