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是否编辑成功
经验总结:
在很多台机器上用方法一都没问题,但2011年11月14日遇到一台机器死活都不成功,
使用命令行方式:set global max_allowed_packet = 16M;
也不行,但使用
set global max_allowed_packet = 2*1024*1024*10;
成功了,很是郁闷
问题终于找出来了,不是方法的问题,是设置完成后要把命令行退出重新登录查看,看来系统变量的值在登录后会缓存。但在这台机器上使用配置INI文件的方式就是不行,具体原因还没找到。 REFS:http://blog.csdn.net/loseinworld/article/details/6856261
相关推荐
在MySQL 5.7中,可以通过执行以下SQL命令来查看`max_allowed_packet` 的当前设置: ```sql SHOW VARIABLES LIKE '%max_allowed_packet%'; ``` 该命令将返回一个类似于如下的结果,显示了`max_allowed_packet` 的...
MySQL中的`max_allowed_packet`参数是一个非常重要的设置,它决定了MySQL服务器能够接收的最大数据包大小。这个设置在处理大数据操作,如导入大体积的数据文件、执行包含大量数据的SQL语句时尤其关键。如果某个...
mysql设置max_allowed_packet_解决_MySQL_Error_2006
在MySQL数据库中,`max_allowed_packet` 是一个非常重要的参数,它定义了客户端与服务器之间可以传输的最大数据包大小。这个参数对处理大数据操作,如导入大文件、执行大查询或者传输大对象(如BLOB或TEXT列)时至关...
在MySQL数据库系统中,`max_allowed_packet`是一个非常重要的配置参数,它决定了服务器可以处理的最大数据包大小。这个参数主要用于限制单次传输的数据量,防止因大数据操作导致内存溢出或者网络阻塞。在MySQL 5.5...
MySQL max_allowed_packet过小引起的问题报错如下com.mysql.jdbc.PacketTooBigException: Packet
设置`max_allowed_packet`过小可能会导致以下问题: 1. **大数据插入失败**:当你尝试插入一个超出限制的大记录时,操作会失败。 2. **更新失败**:同样的,如果你的UPDATE语句涉及的数据量过大,也会遇到问题。 3....
在使用mysql的过程中,有个问题就是mysql的... You can change this value on the server by setting the max_allowed_packet’ variable. 原因:myslq默认配置最小的需要更改 :在mysql.ini中配置参数(max_allowed_pa
本篇将详细探讨`max_allowed_packet`参数和`show profiles`功能,以及`wait_timeout`设置对MySQL性能的影响。 `max_allowed_packet`参数用于控制MySQL服务器接收或发送的最大数据包大小。默认情况下,这个值可能...
例如,`mysql`客户端有一个名为`max_allowed_packet`的变量,用于控制通信缓冲区的最大大小。要将`max_allowed_packet`变量设置为16MB,可以使用以下命令: - `mysql --max_allowed_packet=16777216` - `mysql --max...
1. **临时设置**:在MySQL命令行中执行`set max_allowed_packet=1024M;`,这将只对当前会话有效。然后你可以尝试再次执行`source ./xxxx.sql;`来导入你的SQL脚本。 2. **永久修改配置**:如果MySQL版本不支持在线...
2. **增大`max_allowed_packet`参数**:在MySQL服务器配置中,可以增加`max_allowed_packet`的值,以允许更大的数据包。这个参数控制了服务器接受的最大数据包大小。可以通过修改my.cnf配置文件,增加如下设置: ``...
`max_packet_allowed`设定最大数据包大小,确保能容纳大数据集的传输。`aborted_connects`计数器的监控有助于识别连接失败的问题。而`thread_cache_size`则关乎线程缓存,预创建线程可以提高响应速度,但过多的线程...
全国手机号码段归属地数据库,mysql 批量导入脚本。 若导入时报错,ERROR 2006 (HY000):MySQL server has gone away 。...如果值比较小,可以设置大一点:set global max_allowed_packet=1024*1024*16;
我用到的数据库为,mysql数据库5.7版本的 首先自己准备好数据库表 ... You can change this value on the server by setting the max_allowed_packet’ variable. 出现上面的错误是因为数据库表的 max_allowe