程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql中max_allowed_packet參數的配置方法(避免大數據寫入或者更新失敗)

mysql中max_allowed_packet參數的配置方法(避免大數據寫入或者更新失敗)

編輯:MySQL綜合教程

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

查看目前配置:
復制代碼 代碼如下:show VARIABLES like '%max_allowed_packet%';
顯示的結果為:
復制代碼 代碼如下:+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+ 
以上說明目前的配置是:1M

修改方法

1、修改配置文件

可以編輯my.cnf來修改(windows下my.ini),在[mysqld]段或者mysql的server配置段進行修改。
復制代碼 代碼如下:max_allowed_packet = 20M
如果找不到my.cnf可以通過
復制代碼 代碼如下:mysql --help | grep my.cnf
去尋找my.cnf文件。
linux下該文件在/etc/下。

2、在mysql命令行中修改

在mysql 命令行中運行:
復制代碼 代碼如下:set global max_allowed_packet = 2*1024*1024*10
然後退出命令行,重啟mysql服務,再進入。
復制代碼 代碼如下:show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否編輯成功

注意:該值設置過小將導致單個記錄超過限制後寫入數據庫失敗,且後續記錄寫入也將失敗。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved