前言

使用django执行sql相关操作的时候,出现一个“MySQL server has gone away”错误,后来查了下是sql执行过程中,导入的文件较大时候,会出现这个异常。 检查了下sql语句,确实有插入图片,图片较大导致出现MySQL server has gone away。 该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功。 该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过该项设置的值从而导致导入不成功! 环境: CentOS7.4 mysql5.6

max_allowed_packet

首先连接数据库,查看max_allowed_packet的值。

以linux系统为例,输入mysql -uroot -p进入mysql,输入root用户密码进入mysql

mysql -uroot -p

[root@yoyo ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 33700

Server version: 5.6.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

查看 max_allowed_packet 的值

show global variables like 'max_allowed_packet';

查看到max_allowed_packet值是4194304,也就是默认4M(410241024)

mysql> show global variables like 'max_allowed_packet';

+--------------------+---------+

| Variable_name | Value |

+--------------------+---------+

| max_allowed_packet | 4194304 |

+--------------------+---------+

1 row in set (0.00 sec)

mysql>

修改max_allowed_packet 的值

默认情况下max_allowed_packet的大小只有4M,接下来将该值设置成100M(10241024100)

set global max_allowed_packet=104857600;

重新查看max_allowed_packet的大小

mysql> set global max_allowed_packet=104857600;

Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'max_allowed_packet';

+--------------------+-----------+

| Variable_name | Value |

+--------------------+-----------+

| max_allowed_packet | 104857600 |

+--------------------+-----------+

1 row in set (0.00 sec)

mysql> exit

Bye

设置完成之后,exit退出数据库即可。

Navicat修改

如果你不会直接进数据库操作,使用远程工具Navicat也是可以直接修改的

-- 修改max_allowed_packet

set global max_allowed_packet=104857600;

-- 查看

show global variables like 'max_allowed_packet';

请注意通过在命令行中进行设置只对当前有效,重启mysql服务之后则恢复默认值,但可以通过修改my.cnf配置文件来达到永久有效的目的

my.cnf配置

my.cnf配置文件一般在/etc/my.cnf或者/etc/mysql/my.cnf目录,使用cat查看当前配置

[root@yoyo ~]# cat /etc/my.cnf

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]

#

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

#

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

#

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Recommended in standard MySQL setup

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[root@yoyo ~]#

在可以在配置文件my.cnf中[mysqld]添加max_allowed_packet=100M即可

mysql gone away 测试_python测试开发django-58.MySQL server has gone away错误的解决办法相关推荐

  1. mysql 导入数据 1215,导入sql出现:#1215 – Cannot add foreign key constraint错误的解决办法...

    今天在数据库后台导入一个mysql文件时,出现了:1215 – Cannot add foreign key constraint这样的错误提示. 百度了一下,网友们给出的解决办法一般是这样的: 外键 ...

  2. python web 开发 Django 部署到服务器heroku上出现bug时候 解决办法

    第一次动作: git push heroku master 问题: (图片没截图,从网上找的,我的runtime.txt中是python-3.5.4) remote:Requested runtime ...

  3. 苹果cms安装mysql检测失败_maccms(苹果cms)采集过程报错--MySQL server has gone away错误的解决办法...

    maccms(苹果cms)采集过程报错--MySQL server has gone away,造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... value ...

  4. hibernate开发错误及解决办法

    2019独角兽企业重金招聘Python工程师标准>>> hibernate开发错误及解决办法 <!-- attachment--> <!-- attachment ...

  5. Myeclipse开发环境下文件中出现的提示错误与解决方法:The import javax.servlet cannot be resolved?

    Myeclipse开发环境下文件中出现的提示错误与解决方法:The import javax.servlet cannot be resolved? 参考文章: (1)Myeclipse开发环境下文件 ...

  6. 安装mysql Install/Remove of the Service Denied!错误的解决办法

    在安装mysql过程中, 遇到Install/Remove of the Service Denied!错误的解决办法 解决办法: 打开cmd.exe程序的时候选择"用管理员身份打开&quo ...

  7. redhat安装pure-ftpd+mysql时出现libmysqlclient错误的解决办法

    redhat as 4 安装pure-ftpd,执行,/configure时使用了--with-mysql参数,出现如下错误: checking whether you already have a ...

  8. IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法

    在 IOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误,该错误简单的说,是由于 "ViewController" ...

  9. mysql error1045 yes,MySQLERROR1045(28000)错误的解决办法

    错误现象: ERROR 1045 (28000): Access denied for user'ODBC'@'localhost'(using password: NO) ERROR 1045 (2 ...

最新文章

  1. 学习如何写 Bug 的一天! | 每日趣闻
  2. Notepad++ 异常崩溃 未保存的new *文件列表没了怎么办?
  3. python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法
  4. SQLite3的数据类型转载()
  5. java recv failed,jmeter压测报错Unrecognized Windows Sockets error: 0: recv failed
  6. ef 关联依赖属性_基础巩固之:xmlns属性梳理
  7. java ee 8 api_Java EE 8安全性API:概述
  8. Python之异常追踪模块:traceback
  9. Linux内核空间-用户空间通信之debugfs
  10. Win10的远程桌面
  11. 汕头创易计算机科技,汕头文创设计下一个“爆款”在哪?汕大优秀毕业生分享创作心得...
  12. 树莓派(Arduino)仿真软件 —— Fritzing
  13. Azure China (4) 管理Azure China Storage Account
  14. c语言怎么设计程序框图,C语言课程设计————写下流程图! 谢谢
  15. 计算机无法安装新字体,怎么给电脑安装新字体
  16. iOS--视频播放器之ZFPlayer
  17. 微信小程序 异步加载f2图表
  18. wps如何设置分段页眉
  19. Ubuntu 回收站目录
  20. python中正则的使用

热门文章

  1. oracle绑定主键,oracle添加主键的四种方法:
  2. Mac终端 bash和zsh切换方法
  3. Qt C++属性类型提供给 QML调用(四)
  4. 【已解决】Linux下安装JDK
  5. STL6大标准库的关系和作用
  6. 2019b官方手册中文版_数据科学|「最全」实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南...
  7. 批量模糊查询_模糊匹配,Power Query的这个功能太实用了,可惜Excel还没有
  8. 苹果4s忘记id密码怎么办_苹果电脑 / Mac 忘记了开机密码怎么办?
  9. do{...}while(0) 的意义和用法
  10. 开发者们看过来,8ms开发工具平台给大家送福利了!只要你来,肯定有你感兴趣的,3.6-3.10日,只要在8ms平台上创建项目,就有机会白嫖彩屏开发板哦