使用Flask开发web碰到 MySQL Connection not available
来源:互联网 发布:linux c代码创建目录 编辑:程序博客网 时间:2024/05/18 14:12
最近在帮别人做一个小型的网站(包括web前端),在使用的过程中,出现了以下的bug:
in Execute_SQL cursor = conn.cursor() ,in cursor raise errors.OperationlError (MySQL Connection not available.)
出现这个bug后,只要涉及到数据库方面的处理都会出错。经过一番煞费苦心的查找解决方法时,在这篇文章中找到答案:http://bugs.mysql.com/bug.php?id=67649,解释如下:
Description:If you open an unbuffered cursor and you do not read the WHOLE result set before closing the cursor, the next query will fail with File "/usr/lib/python3.2/site-packages/mysql/connector/connection.py", line 1075, in cursor raise errors.OperationalError("MySQL Connection not available.")mysql.connector.errors.OperationalError: MySQL Connection not available.and all subsequent database calls will fail too.上文说如果你打开了一个cursor,但是没有把里面的结果集都read一遍就把它close掉了,后续访问数据库都会失败。
解决方法:
1.在调用cursor.close(),丢弃所有未读的结果
我的解决方法,原代码如下:
def Execute_SQL ( command , var = None , search = True ) : cursor = conn.cursor ( ) if var is None : cursor.execute ( command ) else : cursor.execute ( command , var ) if search : values = cursor.fetchall ( ) else : values = cursor.rowcount conn.commit ( ) cursor.close ( ) return values
改后的代码:
def Execute_SQL ( command , var = None , search = True ) : cursor = conn.cursor ( ) if var is None : cursor.execute ( command ) else : cursor.execute ( command , var ) if search : values = cursor.fetchall ( ) else : # values = cursor.rowcount values = cursor.fetchone(); while values: print (values); values = cursor.fetchone(); conn.commit ( ) cursor.close ( ) return values
0 0
- 使用Flask开发web碰到 MySQL Connection not available
- MySQL Connection not available
- MySQL Connection not available的定位
- HikariCP - connection is not available
- 使用Flask快速开发WEB应用
- Flask Web开发
- flask-web开发扩展
- flask web开发
- Flask Web 开发 数据库
- Flask Web 开发 测试
- Flask Web开发选型
- Flask Web服务开发
- Flask Web开发 备忘
- Flask Web开发--前言
- Flask Web开发 表单
- Flask Web 开发 web表单
- Flask web 开发--web表单
- 《flask web开发》第六章flask-mail
- Struts2-内置类型转换
- Codeforces Round 718C (矩阵线段树)
- Android Adapter原理解析
- Mybatis用like进行模糊查询问题
- React-Native打包发布
- 使用Flask开发web碰到 MySQL Connection not available
- activemq-all.jar包引入导致slf4j冲突的解决办法
- AbstractFactory_Level4
- Java 面试锦集
- 《Asp.Net Web API》-----webApi的简单使用
- 在Linux-as5u2-64下安装JIRA6.4.3
- Leetcode---Longest Palindromic Substring
- BZOJ 2763 [JLOI2011]飞行路线
- String android.content.Context.getString(int resId, Object... formatArgs)