mysql根据my.cnf中max_allowed_packet的大小来限制接收到的数据包大小。

官网描述,如下图。 数据包的值范围为1k~1G, 只能是1024的倍数,不能整除1024的,会向下取整。 若设置成1025,最终结果为1024。

查看方法:

1.在mysql配置文件中my.cnf中查看。cat my.cnf

my.cnf可通过 mysql --help|grep my.cnf查找,一般在/etc/mysql下。

2.登陆mysql(mysql -h ip -u userName -ppasswd databaseName -A ),通过命令行查看。show variables like "max_allowed_packet";

此时显示大小为16M

修改方法:

1.直接在my.cnf中修改。

2.在命令行中用 set global max_allowed_packet = 1;设置。

max_allowed_packet最小值为1024, 如设置的值<1024, 则默认为1024。

执行成功后,退出登陆,再重新登录。用show variables like "max_allowed_packet"查看即可发现修改成功。

此时大小显示为1kb

若数据包大小> max_allowed_packet,则会有错误信息:

ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes

测试用例:

将max_allowed_packet设置为1024即1kb

建表语句:

CREATE TABLE `max_allowed_test` (
`msg` varchar(256) NOT NULL DEFAULT '',
`info` varchar(1024) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入语句:

insert into max_allowed_test values("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy");

数据包的大小,是指什么呢? sql语句的长度,还是插入数据的大小。下面来验证一下。

插入的数量大小刚好是1025,即xxx+yyy的字符个数=1025;

结果:

成功了。

原因:

数据包其实是网络包缓冲区的大小。包会进行层层封装,并且还会进行压缩,并不是单纯的只sql语句或者插入语句的大小,详情参考:http://blog.itpub.net/7728585/viewspace-2138631/

mysql max_allowed_packet 设置的更多相关文章

  1. mysql max_allowed_packet 设置过小导致记录写入失败

    mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...

  2. MySQL max_allowed_packet设置及问题

    MySQL根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败. 查看目前配置 show VARIABLES like ...

  3. mysql导入数据失败:mysql max_allowed_packet 设置过小

    mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...

  4. Mysql字符集设置

    转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...

  5. Ubuntu 16.04 安装mysql并设置远程访问

    说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...

  6. 微信nickname乱码及mysql编码格式设置(utf8mb4)

    微信nickname乱码及mysql编码格式设置(utf8mb4) 今天在写微信公众平台项目时,写到一个用户管理模块,接口神马的已经调试好了,于是将用户从微信服务器保存到本地数据库,发现报错: jav ...

  7. Mysql 如何设置字段自动获取当前时间

    应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间: 2.在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意 ...

  8. mysql 的设置

    网上的一些文章都已经比较老了,现在版本高了之后,其实配置是很省力的(不考虑什么负载的话) 分享全过程,出了文中提到的安装epel rpmfushion 源指令不同外,其他的过程也适用与Centos 5 ...

  9. xampp默认mysql密码设置,修改mysql的默认空密码

    xampp默认mysql密码设置,修改mysql的默认空密码 分类: xampp2012-09-12 11:24 30264人阅读 评论(5) 收藏 举报 mysqlphpmyadminauthent ...

随机推荐

  1. Fedora8 U盘安装

    (一)分区 在XP下"我的电脑“管理功能,对硬盘分区,目的是从逻辑分区中拿出20G空间,分成3个盘(必须为逻辑盘): (1)512MB   用作Linux swap分区: (2)200MB  ...

  2. React 16 源码瞎几把解读 【三 点 二】 react中的fiberRoot

    〇.先来看看常用的常量 NoWork = 0 noTimeout = undefined HostRoot = 3 NoContext = 0b000; AsyncMode = 0b001; Stri ...

  3. maven的初步理解

    [情景] 在进行JAVA项目开发的过程中,代码写好后,需要经过编译.打包.运行.测试.部署等过程. 在JAVA项目的开发阶段,就会根据业务的需要引入许多jar包来实现功能,但我们需求的jar包本身可能 ...

  4. java图片转byte转string

    第一种:原始乱码: public static void main(String[] args) throws IOException { File imgFile = new File(" ...

  5. fiddler添加监测请求的 ip地址

    本文转载自:http://www.jackness.org/2014/12/26/%E7%BB%99fiddler%E6%B7%BB%E5%8A%A0%E7%9B%91%E6%B5%8B%E8%AF% ...

  6. GUC-3 模拟CAS算法

    /* * 模拟 CAS 算法 */ public class TestCompareAndSwap { public static void main(String[] args) { final C ...

  7. office 文档转pdf

    本地先安装 金山wps,并确保可用 工程目录 1.使用前,先执行install.bat 安装jacob 到maven本地仓库 2.复制 jacob-1.18-M2-x64.dlljacob-1.18- ...

  8. SRILM的安装方法

    官网 网上搜的安装教程:SRILM的安装方法 最近做的一个项目要用到语言模型,在网上找了一些开源的工具包试了一下.废话不多说,下面直接介绍一下SRILM的安装方法. 我实在ubuntu14.04底下使 ...

  9. Java 8 对 List<List<String>> 排序

    Java 8 对 List<List> 排序 import java.util.ArrayList; import java.util.List; import java.util.str ...

  10. 超简教程:Xgboost在Window上的安装(免编译)

    Xboost在windows安装需要自己编译,编译的过程比较麻烦,而且需要复杂的软件环境.为了免去编译,我这里把编译好的文件上传到网盘供大家下载安装.有了编译好的文件,xgboost的安装变得超级简单 ...