1. 程式人生 > >mysql 導入時報錯:Got a packet bigger than‘max_allowed_packet’bytes

mysql 導入時報錯:Got a packet bigger than‘max_allowed_packet’bytes

ger windows packet 通過 ron pan nbsp 窗口 all

原因是max_allowed_packet 值設置過小。

網上說有兩種方法:

方法一,直接修改my.cnf(Linux)或者my.ini(windows)的文件,例如:

  max_allowed_packet=10M

  然後重啟MySQL服務。但是我試過之後不行,原因也不得而知。

方法二,通過MySQL自帶的客戶端(黑框界面),通過命令先查看目前的max_allowed_packet 值的大小:

  

show VARIABLES like %max_allowed_packet%;

  查出來的值的單位是字節(byte)

設置時默認的單位也是字節,比如你要設置為100M,那麽應該是100*1024*1024,執行修改命令為:

  

set global max_allowed_packet = 100*1024*1024

修改後需要關掉cmd窗口,然後重新打開,再次查詢,才能看到修改後的新值,否則看到的還是原始值(緩存)。

ps:具體該為多少,需要視具體情況而定,可能修改之後,還是報同樣的錯誤,沒關系,那就設置的再大一些。我因為sql文件有4個多G,最終將max_allowed_packet設置成了1G(即,1024*1024*1024)

mysql 導入時報錯:Got a packet bigger than‘max_allowed_packet’bytes