服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 数据库:MySQL参数Max_Allowed_Packet 介绍

数据库:MySQL参数Max_Allowed_Packet 介绍

2023-07-25 03:08未知服务器之家 Mysql

1、参数作用 max_allowed_packet参数是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会数据库保持数据失败。 2、问题场景 ●有时候业务的需要,可能会存在某些字段数据

数据库:MySQL参数Max_Allowed_Packet 介绍

1、参数作用

max_allowed_packet参数是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会数据库保持数据失败。

2、问题场景

● 有时候业务的需要,可能会存在某些字段数据长度非常大(比如富文本编辑器里面的内容),造成插入和更新数据库会被max_allowed_packet 参数限制掉,导致数据库操作失败。

● 将本地数据库迁移到远程数据库时运行sql错误。错误信息是max_allowed_packet

会看到如下的报错信息:

Packet for query is too large (20682943>1048576). You can change this value on the server by setting the max_allowed_packet’ variable.

这个时候需要设置max_allowed_packet参数的大小,从而满足业务数据的保存,当然设置的大小要根据实际的业务需要,并不是越大越好,要设置合理的数据长度。

3、查询当前数据库设置的大小

查询当前数据库设置情况,下面两种查询SQL均可以

show variables like ‘%max_allowed_packet%’;
select @@max_allowed_packet;

set global max_allowed_packet = 500 * 500 * 1024。

4、如何调整配置

(1)通过修改配置文件,需要重启mysql(推荐)

● Linux 操作系统  修改my.cnf 文件 。

vim /etc/my.cnf
[mysqld]
max_allowed_packet = 100M

● Windows  5.7解压版一般都是修改  my.ini 文件。

[mysqld]
max_allowed_packet = 128M

(2)命令行方式(不推荐)

mysql> set global max_allowed_packet = 100 * 1024 * 1024;
mysql> exit
[root@localhost opt]# 
[root@localhost opt]# mysql -uroot
mysql> 
mysql> select @@max_allowed_packet;
+----------------------+
| @@max_allowed_packet |
+----------------------+
|            104857600 |
+----------------------+
1 row in set (0.00 sec)

mysql>

注意:

● 通过命令行方式修改时,不能用M、G,只能这算成字节数设置。使用配置文件修改才允许设置M、G单位。

● 命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,如果下次数据库重启后对应的配置就会又复原了,因为重启的时候加载的是配置文件里面的配置项。

● max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。

延伸 · 阅读

精彩推荐
  • Mysqlmysql5.6及以下版本如何查询数据库里的json

    mysql5.6及以下版本如何查询数据库里的json

    MySQL里面保存数据有时候会把一些杂乱且不常用的时候丢进一个json字段里面,那么如何查询数据库里的json呢以及mysql存储json注意那些格式呢?接下来通过本...

    黎明的海风2372020-07-20
  • Mysqlmysql允许所有host访问的方法

    mysql允许所有host访问的方法

    下面小编就为大家带来一篇mysql允许所有host访问的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    MYSQL教程网6872020-07-27
  • Mysqlmysql 8.0.18 安装配置方法图文教程(linux)

    mysql 8.0.18 安装配置方法图文教程(linux)

    这篇文章主要介绍了linux下mysql 8.0.18 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    csdn_LGY_Java6042020-12-14
  • MysqlMySQL数据库的shell脚本自动备份

    MySQL数据库的shell脚本自动备份

    这篇文章主要介绍了MySQL数据库的shell脚本自动备份的相关资料,网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行。我们需要一种安全的,...

    MYSQL教程网2442020-07-19
  • Mysql详解Mysql中的视图

    详解Mysql中的视图

    mysql中的视图,视图与表有很多相似的地方,视图也是由若干个字段以及若干条记录构成,视图也可以作为select语句的数据源...

    MYSQL教程网2192020-07-25
  • MysqlMySQL基础之MySQL 5.7 新增配置

    MySQL基础之MySQL 5.7 新增配置

    mysql数据库性能非常高,运行速度非常快,接下来通过本文给大家介绍MySQL 5.7 新增配置,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧...

    pursuer.chen2942020-06-22
  • Mysqlmysql把主键定义为自动增长标识符类型

    mysql把主键定义为自动增长标识符类型

    这篇文章主要介绍了mysql中如何把主键定义为自动增长标识符类型,下面有个不错的示例,大家可以参考下 ...

    whsnow3272020-04-11
  • MysqlCentOS 7安装MySQL的详细步骤

    CentOS 7安装MySQL的详细步骤

    这篇文章主要为大家介绍了CentOS 7安装MySQL的详细步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    这块显卡有点冷4442019-06-28