惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

博客园 - liufei

阿里云服务器访问不了外网 MySQL修改root密码的多种方法 为需要远程登录的用户赋予权限: C#生成电子印章源码 ASP.NET的优点 Android上传 apk格式文件下载 Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题 1130 - Host '' is not allowerd to connect to this MySQL server, HTTP 错误 500.21 - Internal Server Error 解决方案 . 修改SQL Service数据库排序规则 MSSQL获取昨天,本周,本月。。。 asp.net Mvc Npoi 导出导入 excel 骗子手机 15311888578 北京高德豪门网络科技有限公司 面试题 JetBrains ReSharper 8.2 Build 8.2.0.2160 && StyleCop win7开启特定端口 jquery关于select框的取值和赋值 asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”
MySQL Packets larger than max_allowed_packet are not allowed
liufei · 2015-02-03 · via 博客园 - liufei

MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M),
查询:show VARIABLES like '%max_allowed_packet%';
修改此变量的值:MySQL安装目录下的my.ini文件中的[mysqld]段中的"max_allowed_packet = 1M",如更改为4M(如果没有这行内容,增加一行),保存,重起MySQL服务。现在可以load大于1M的文件了。

通常通过MySQL的"load data local infile"语句将一个文本文件中的内容导入到数据库中,
这样速度会很快,但今天发现如果文本的大小超过1M时,出现异常:“Packets larger than max_allowed_packet are not allowed”  

MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M),
查询:show VARIABLES like '%max_allowed_packet%';
修改此变量的值:MySQL安装目录下的my.ini文件中的[mysqld]段中的"max_allowed_packet = 1M",如更改为4M(如果没有这行内容,增加一行),保存,重起MySQL服务。现在可以load大于1M的文件了。

mysql max_allowed_packet 查询和修改

MySQLWindows

mysql根据配置文件会限制server接受的数据包大小。

有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。

查看目前配置

show VARIABLES like '%max_allowed_packet%';

显示的结果为:

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+

以上说明目前的配置是:1M

修改方法

1) 方法1

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

max_allowed_packet = 20M

如果找不到my.cnf可以通过

mysql --help | grep my.cnf

去寻找my.cnf文件。

2) 方法2

(很妥协,很纠结的办法)

进入mysql server

在mysql 命令行中运行

set global max_allowed_packet = 2*1024*1024*10

然后关闭掉这此mysql server链接,再进入。

show VARIABLES like '%max_allowed_packet%';

查看下max_allowed_packet是否编辑成功

Caused by: org.hibernate.exception.GenericJDBCException: Packet for query is too large (8742 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

也就是这个sql语句太长了,超过1024b(1K)。

在 数据库查看了一下show VARIABLES like '%max_allowed_packet%';  确实 max_allowed_packet  的值被设为了1024。这个值明显不够,而且mysql默认的应该是1M才对。于是我修改了服务器的my.cnf,添加了max_allowed_packet =1M。

执行 show VARIABLES like '%max_allowed_packet%'; 发现修改成功,变成1048576了。

可是今天问题有出现了,max_allowed_packet  又被重置为1024了,my.cnf没人修改,没人重启mysql服务。查看数据库所在服务器的系统内存发现,内存不够用了,查资料和mysql日志发现,

是由于内存不足,mysql自动重置了一些配置。

以上就介绍了关于max_allowed_packet这个值设置后自动重置问题,包括了方面的内容,希望对MySql有兴趣的朋友有所帮助。