解决django运行中连接mysql数据库超时报错pymysql.err.InterfaceError
完整报错
运行的好好的,突然某个时间开始,使用django
的model
读取数据库时就会报错:
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相关推荐
- go语言服务器连接mysql,golang中连接mysql数据库
golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...
- nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法
nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法 参考文章: (1 ...
- 如何在IDEA中连接mysql数据库
补充说明下,本篇博文连接数据库,只是将IDEA作为一个Mysql数据库的可视化界面,无法在代码中访问.如果你们是想在代码中连接MySQL数据库,比如通过访问数据库的用户名和密码来进行登录验证,那么请看 ...
- IDEA中连接MySQL数据库并逆向生成实体类
IDEA中连接MySQL数据库并逆向生成实体类 首先在MySQL中创建数据库表,1个表,多个表都可以 打开IDEA 创建SpringBoot项目并新建MVC三层架构的文件夹,也可以不建,生成实体类可以 ...
- 连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序重启后提示出现ORA-01034和ORA-27101
1 windows上安装Oracle的客户端. 2 确保linux服务器上的1521端口开放 3 看你的window机器是够能够ping同linux服务器的ip地址 4 在windows中的Oracl ...
- Android中连接MySql数据库获取数据的简单实现
文章目录 背景 demo布局 导入jar包 demo代码实现 权限设置 应用运行的结果 背景 一般情况下,Android与数据库中的数据进行交互都是通过调用api接口来实现的.但是今天我们就来尝试实现 ...
- java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库
javaweb之eclipse工程连接mysql数据库 准备工作: 1.在mysql官网下载mysqlconnection的jar包 输入网址:mysql.com-点击DOWNLOADS--下拉选择M ...
- 解决linux系统中的mysql数据库,区分大小写的问题
解决linux系统中的docker-mysql数据库,区分大小写的问题 最近研究docker比较勤,偶然发现,我项目的数据库改成服务器上的docker容器中的数据库,就会给我报错 说是没得这表,这数据 ...
- 如何在IDEA中连接mysql数据库以及导入mysql jar包
一.如何IDEA中链接mysql数据库 1.打开IDEA,然后点击右边的DataBase 2.点击加号,点击DateSourse,然后再选择Mysql 3.然后在以下页面中填入所需要连接数据库的主机名 ...
最新文章
- Lucene.net: the main concepts
- 程序员面试题精选100题(55)-不用+、-、×、÷做加法[算法]
- 对于dts的理解和分析
- html块状元素高度,CSS:如何计算块元素的高度?
- .Net程序内存泄漏解析
- struts:file 提交给action后获取文件信息
- java获取panel面板画笔_java - paintComponent()与paint()和JPanel vs Canvas在画笔类型的GUI中 - 堆栈内存溢出...
- STM32 存在字节对齐指针变量的地址都必须是4的倍数
- UITableViewController与UIViewController中使用UITableView
- java pos58打印_POS58票据热敏打印机,怎么用ESC/POS命令控制打印
- linux 查看文件夹大小
- IT系统风险管理体系的构建思路
- SAP 中英文转换-英转中
- 三栏式布局详解(代码+图解)
- 关于学校计算机的情景剧剧本,校园剧本校园情景剧
- int(size)中的size到底神马意思(mysql)
- 手机android怎么开机画面,安卓开机动画特效软件下载
- Android录制声音文件(音频),并播放
- 二维码的扫描与生成(含动态权限)
- python3数据分析的书籍_从零开始用Python3做数据分析