mysql配置_Mysql配置 max_allowed_packet

在使用Mysql过程中不知道小伙伴会不会遇到max_allowed_packet的问题。今天我给大家整理下关于Mysql max_allowed_packet的配置知识。

废话不多说,直接进入主题。

mysql客户端跟mysql服务端进行packet通信传递数据的作用主要是

  1. 客户端发送到mysql 服务端的单个SQL STATEMENT
  2. 服务端发送到客户端的数据集
  3. master发往slave的一个binary log event

最新的Mysql 8.0单个packet可以允许的最大值是1GB。通常来说客户端和服务端都有自己的packet大小。

当传输的packet大于max_allowed_packet时,触发错误EN_NET_PACKET_TOO_LARGE并且关闭Connection。在有的客户端中也会显示信息Lost connection to MySQL server during query。
757c1aac9c2736b31b97fe08aa3e10a3.png

Mysql客户端配置packet方法是

shell> mysql --max_allowed_packet=32M

Mysql服务端配置packet方法是

shell> mysqld --max_allowed_packet=128M

当然也可以通过mysql的配置文件my.cnf去配置

[mysqld]max_allowed_packet=128M

也可以通过sql的方式去查询和设置packet的值

mysql> select @@max_allowed_packet;+----------------------+| @@max_allowed_packet |+----------------------+| 4194304 |+----------------------+1 row in set (0.00 sec)mysql>

或者

mysql> show variables like 'max_allowed_packet';+--------------------+---------+| Variable_name | Value |+--------------------+---------+| max_allowed_packet | 4194304 |+--------------------+---------+1 row in set (0.00 sec)mysql>mysql> set global max_allowed_packet = 1024*1024*10;Query OK, 0 rows affected

好了今天先写到这里吧。后面我会写一个半小时内给mysql导入一千万条(20个字段的表)的记录。

^_^ 喜欢我的关注一下,点个赞吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值