1. 程式人生 > >mysql中避免大資料寫入或者更新失敗

mysql中避免大資料寫入或者更新失敗

在進行簡單的資料庫寫入或者更新操作的時候,當資料過大的時候,有時候會出現寫入、更新失敗的問題。這個時候你會發現當你試著將char,varchar欄位修改為tex甚至longtext的時候依然報錯。
在這個時候你需要考慮下:max_allowed_packet 的的值。

MySQL根據配置檔案會限制Server接受的資料包大小。有時候大的插入和更新會受 max_allowed_packet 引數限制,導致寫入或者更新失敗。

下面說一下簡單的配置步驟:

  1. 進入資料庫,執行以下命令,檢視max_allowed_packet值
    show VARIABLES like '%max_allowed_packet%';


    這裡寫圖片描述

  2. 看到了,值為1024,比較小。我們現在修改一下。你可以直接對my.cnf檔案進行編輯修改,也可以使用命令修改。我直接用命令進行修改展示。
    set global max_allowed_packet = 2*1024*1024*10

  3. 現在重啟mysql,然後查使用1中的命令看max_allowed_packet值
    這裡寫圖片描述

  4. 現在重新去執行新增或更新操作你會先沒問題了。(視情況設定更大的max_allowed_packet值)