写入MySQL报错超出 max_allowed_packet 的问题。

MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。

查看当前配置:

mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)

也可以用select查看:

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

mysql>

max_allowed_packet 如果不设置,默认值在不同的 MySQL 版本表现不同,有的版本默认1M,有的版本默认4M。

修改方法1(配置文件持久化修改):
vim /etc/my.cnf
[mysqld]

max_allowed_packet = 100M

注意:修改配置文件以后,需要重启mysql服务才能生效。

mysql> show variables like '%max_allowed_pack%';
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| max_allowed_packet | 104857600 |
+--------------------+-----------+
1 row in set (0.00 sec)

修改方法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>

注意:

1.命令行修改时,不能用M、G,只能这算成字节数设置。配置文件修改才允许设置M、G单位。

2.命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,下次数据库重启后又复原了。

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

[mysqld]
max_allowed_packet = 1G

mysql> show variables like '%max_allowed_pack%';
+--------------------+------------+
| Variable_name      | Value      |
+--------------------+------------+
| max_allowed_packet | 1073741824 |
+--------------------+------------+

1 row in set (0.00 sec)

来源:https://blog.csdn.net/sunny05296/article/details/80446944

写入MySQL报错超出 max_allowed_packet 的问题相关推荐

  1. 大批量数据写入mysql报错 #1436 Thread stack overrun

    一次插入5万条数据导致数据库报错:General error: 1436 Thread stack overrun: 246144 bytes used of a 262144 byte stack, ...

  2. Spark写入MySQL报错乱码+报错

    1.美图 1.背景 /*** 测试点:测试写入到mysql 指定编码方式* 测试数据:* 1,1,梁川川* 测试结果:* 同时写入mysql成功* 1. 不指定编码方式 会乱码 ?characterE ...

  3. python怎么捕获mysql报错

    一.前言 最近在运行python脚本的时候,经常出现:mysql server has gone away的错误,导致脚本停止运行.只是代码里面明明已经使用try: except 这种方式来捕获mys ...

  4. php mysql 微信昵称_php 解决微信昵称emoji表情插入MySQL报错

    在PHP接受到微信用户昵称入库的时候报错 原因:utf-8 最大3个字节,而emoji占4个字节 解决办法: 1.修改mysql 数据库的字符集,改为utf8mb4,但是前提是MySQL的版本需要5. ...

  5. mysql 报错 get error 28 from storage engine 解决方法

    mysql 报错 get error 28 from storage engine 解决方法 参考文章: (1)mysql 报错 get error 28 from storage engine 解决 ...

  6. Mysql报错Fatal error:Can't open and lock privilege tables

     Mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 安装mysql后 ...

  7. 登录mysql报错2059,navicat连接mysql报错2059如何解决

    navicat连接mysql报错2059,如下图所示: 网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密 ...

  8. mysql报错:Reading table information for completion of table and column names

    一.前言 在使用命令行打开数据库的时候,报错如标题所示.这里总结记录一下. 二.错误原因 1.锁表的原因 参考链接:https://blog.csdn.net/ssergsw/article/deta ...

  9. 安装32位mysql报错_在CentOS中安装32位或64位MySql报错error: Failed dependencies解决办法...

    在CentOS中安装MySql报错error: Failed dependencies解决办法 安装64位MySql报错内容如下: error: Failed dependencies: libaio ...

最新文章

  1. python单行箭头_python – 如何在matplotlib的曲线末端放置一个箭头?
  2. ccs matlab联调,MATLAB与CCS联调中idelink_ert_tlc和ert_tlc选择
  3. 深度学习--数据增强
  4. Quartz.net 开源job调度框架(二)----定点执行
  5. 学生上课睡觉班主任怎么处理_【师问师答】学生上课说话,点名批评还嘴怎么办?...
  6. 即将发版!Apache Flink 1.9 版本有哪些新特性?
  7. 给,你要的Go学习路线图来啦
  8. Rand7()实现Rand10()
  9. SaaSBase:什么是数云麒麟CRM?
  10. python去除视频马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克
  11. 如何在visio里将图形进行任意角度旋转
  12. java生成竖排文字图片_怎么给图片加上竖排文字?
  13. led屏背后线路安装图解_液晶拼接屏安装方法图解及接线方法
  14. Openwrt 下 L2TP搭建
  15. 自己对香港一卡通的总结
  16. python-matplotlib库绘制饼形图专题(从一般饼状图到内嵌环形图)
  17. 在线 面对这样一个在线世界,唯一的限制就是我们的想象力
  18. 互联网校招研发薪资汇总
  19. iOS给按钮添加系统声音
  20. CentOS 6.8 安装JStorm集群(jstorm-2.1.1 )

热门文章

  1. mysql 事务权限_0428-mysql(事务、权限)
  2. 16_clickhouse,HDFS引擎,JDBC引擎
  3. [BAT][JAVA]定时任务之-Quartz使用篇(通过这个配置可以知道在做Quartz的时候需要的jar文件/Cron表达式使用语法/常用Cron表达式)
  4. 处理时间_4_计算时间列所在的周的序号
  5. java db 程序_JAVA连接数据库的简单程序
  6. 利用FPGA实现外设通信接口之:利用FPGA实现USB 2.0通信接口
  7. JavaScript 验证API
  8. 分析Linux磁盘管理与文件系统专题三
  9. 运用 autoconf 和 automake 自动生成 Makefile 实例讲解
  10. 为敏感信息设置安全屏障