完整报错

运行的好好的,突然某个时间开始,使用djangomodel读取数据库时就会报错:

Traceback (most recent call last):File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _executereturn self.cursor.execute(sql, params)│    │      │       │    └ ()│    │      │       └ 'SELECT `device_discover_deviceinfomodel`.`index` FROM `device_discover_deviceinfomodel`'│    │      └ <function CursorWrapper.execute at 0x7f0bafd01bf8>│    └ <django.db.backends.mysql.base.CursorWrapper object at 0x7f0a16d53eb8>└ <django.db.backends.utils.CursorDebugWrapper object at 0x7f0ba15754e0>File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 73, in executereturn self.cursor.execute(query, args)│    │      │       │      └ ()│    │      │       └ 'SELECT `device_discover_deviceinfomodel`.`index` FROM `device_discover_deviceinfomodel`'│    │      └ <function Cursor.execute at 0x7f0bb14da048>│    └ <pymysql.cursors.Cursor object at 0x7f0ba13b9780>└ <django.db.backends.mysql.base.CursorWrapper object at 0x7f0a16d53eb8>File "/usr/local/lib/python3.6/site-packages/pymysql/cursors.py", line 148, in executeresult = self._query(query)│    │      └ 'SELECT `device_discover_deviceinfomodel`.`index` FROM `device_discover_deviceinfomodel`'│    └ <function Cursor._query at 0x7f0bb14da488>└ <pymysql.cursors.Cursor object at 0x7f0ba13b9780>File "/usr/local/lib/python3.6/site-packages/pymysql/cursors.py", line 310, in _queryconn.query(q)│    │     └ 'SELECT `device_discover_deviceinfomodel`.`index` FROM `device_discover_deviceinfomodel`'│    └ <function Connection.query at 0x7f0bb1506268>└ <pymysql.connections.Connection object at 0x7f0a1c061cf8>File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 547, in queryself._execute_command(COMMAND.COM_QUERY, sql)│    │                │       │          └ b'SELECT `device_discover_deviceinfomodel`.`index` FROM `device_discover_deviceinfomodel`'│    │                │       └ 3│    │                └ <module 'pymysql.constants.COMMAND' from '/usr/local/lib/python3.6/site-packages/pymysql/constants/COMMAND.py'>│    └ <function Connection._execute_command at 0x7f0bb1506950>└ <pymysql.connections.Connection object at 0x7f0a1c061cf8>File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 793, in _execute_commandraise err.InterfaceError(0, "")│   └ <class 'pymysql.err.InterfaceError'>└ <module 'pymysql.err' from '/usr/local/lib/python3.6/site-packages/pymysql/err.py'>pymysql.err.InterfaceError: (0, '')

这行代码之前没有问题,但是突然某个时间点开始就疯狂出错

解决方案

在使用model前,使用:

import django.db
django.db.close_old_connections()

比如:

import django.db
django.db.close_old_connections()
print(list(django.contrib.auth.models.User.objects.all()))

问题解析

这是因为长时间没有使用连接池里的连接,导致一部分连接已经失效,因此手动清理一下老旧的连接即可

解决django运行中连接mysql数据库超时报错pymysql.err.InterfaceError相关推荐

  1. go语言服务器连接mysql,golang中连接mysql数据库

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

  2. nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法

    nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法 参考文章: (1 ...

  3. 如何在IDEA中连接mysql数据库

    补充说明下,本篇博文连接数据库,只是将IDEA作为一个Mysql数据库的可视化界面,无法在代码中访问.如果你们是想在代码中连接MySQL数据库,比如通过访问数据库的用户名和密码来进行登录验证,那么请看 ...

  4. IDEA中连接MySQL数据库并逆向生成实体类

    IDEA中连接MySQL数据库并逆向生成实体类 首先在MySQL中创建数据库表,1个表,多个表都可以 打开IDEA 创建SpringBoot项目并新建MVC三层架构的文件夹,也可以不建,生成实体类可以 ...

  5. 连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序重启后提示出现ORA-01034和ORA-27101

    1 windows上安装Oracle的客户端. 2 确保linux服务器上的1521端口开放 3 看你的window机器是够能够ping同linux服务器的ip地址 4 在windows中的Oracl ...

  6. Android中连接MySql数据库获取数据的简单实现

    文章目录 背景 demo布局 导入jar包 demo代码实现 权限设置 应用运行的结果 背景 一般情况下,Android与数据库中的数据进行交互都是通过调用api接口来实现的.但是今天我们就来尝试实现 ...

  7. java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库

    javaweb之eclipse工程连接mysql数据库 准备工作: 1.在mysql官网下载mysqlconnection的jar包 输入网址:mysql.com-点击DOWNLOADS--下拉选择M ...

  8. 解决linux系统中的mysql数据库,区分大小写的问题

    解决linux系统中的docker-mysql数据库,区分大小写的问题 最近研究docker比较勤,偶然发现,我项目的数据库改成服务器上的docker容器中的数据库,就会给我报错 说是没得这表,这数据 ...

  9. 如何在IDEA中连接mysql数据库以及导入mysql jar包

    一.如何IDEA中链接mysql数据库 1.打开IDEA,然后点击右边的DataBase 2.点击加号,点击DateSourse,然后再选择Mysql 3.然后在以下页面中填入所需要连接数据库的主机名 ...

最新文章

  1. Lucene.net: the main concepts
  2. 程序员面试题精选100题(55)-不用+、-、×、÷做加法[算法]
  3. 对于dts的理解和分析
  4. html块状元素高度,CSS:如何计算块元素的高度?
  5. .Net程序内存泄漏解析
  6. struts:file 提交给action后获取文件信息
  7. java获取panel面板画笔_java - paintComponent()与paint()和JPanel vs Canvas在画笔类型的GUI中 - 堆栈内存溢出...
  8. STM32 存在字节对齐指针变量的地址都必须是4的倍数
  9. UITableViewController与UIViewController中使用UITableView
  10. java pos58打印_POS58票据热敏打印机,怎么用ESC/POS命令控制打印
  11. linux 查看文件夹大小
  12. IT系统风险管理体系的构建思路
  13. SAP 中英文转换-英转中
  14. 三栏式布局详解(代码+图解)
  15. 关于学校计算机的情景剧剧本,校园剧本校园情景剧
  16. int(size)中的size到底神马意思(mysql)
  17. 手机android怎么开机画面,安卓开机动画特效软件下载
  18. Android录制声音文件(音频),并播放
  19. 二维码的扫描与生成(含动态权限)
  20. python3数据分析的书籍_从零开始用Python3做数据分析

热门文章

  1. error LNK2005: _DllMain@12 already defined in MSVC
  2. R循环有两个_循环子群
  3. U3D性能分析 Profiling
  4. Unreal Engine 4 编码规范
  5. Predicate函数式接口
  6. Express 中间件 body-parser 原理分析
  7. OpenResty中使用反向代理
  8. Redis入门第一篇【介绍、安装】
  9. Consumer配置
  10. 基于R树索引的点面关系判断以及效率优化统计