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檔案。
[[email protected] usr]# mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
在linux下會發現上述檔案可能都不存在。
1)先確定出使用的配置檔案的路徑(如果未啟動,可先啟動)
[
二、 方法2
(很妥協,很糾結的辦法)
進入mysql server
在mysql 命令列中執行
set global max_allowed_packet = 2*1024*1024*10
退出mysql命令列,然後重新登入。
show VARIABLES like '%max_allowed_packet%';
檢視下max_allowed_packet是否編輯成功 注:方法2中,如果重啟mysql服務,max_allowed_packet的值會還原成預設的初始值,命令列裡設定的值不會生效。