Mysql數據庫問題彙總一

1. 解決com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158064)問題

mysql根據配置文件會限制server接受的數據包大小。有時候大的插入和更新會被max_allowed_packet 參數限制掉,導致失敗。

解決方案一:
MySQL的一個系統參數:max_allowed_packet,其默認值爲1048576(1M),
查詢:show VARIABLES like '%max_allowed_packet%';
修改此變量的值:
MySQL安裝目錄下的
my.ini文件中的[mysqld]段中的"max_allowed_packet = 1M",(可能有些文件會沒有這一行的)
格式爲:
[mysqld]
max_allowed_packet = 1M ( 將1M更改爲16M(如果沒有這行內容,增加一行)),
保存,重起MySQL服務。
現在可以load大於1M的文件了
不重啓mysql使my.cnf生效,命令行下配置like 'max_allowed_packet'

方案二:不重啓mysql使my.cnf生效,命令行下配置like 'max_allowed_packet=16M' (1.6*1024*1024*10)
在命令行裏輸入  set global max_allowed_packet=1677716;
然後,關閉連接,查看下修改過來了沒有     show VARIABLES like '%max_allowed_packet%';

發佈了61 篇原創文章 · 獲贊 12 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章