首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我要得到MySQLdb._exceptions.OperationalError:(2013年,“查询期间失去到MySQL服务器的连接”)

为什么我要得到MySQLdb._exceptions.OperationalError:(2013年,“查询期间失去到MySQL服务器的连接”)
EN

Stack Overflow用户
提问于 2021-08-09 14:27:02
回答 1查看 299关注 0票数 1

我对Mysqlsd执行多个请求,对于特定的用户,我得到了这个错误。

MySQLdb._exceptions.OperationalError:(2013年,“查询期间失去到MySQL服务器的连接”)

此错误发生在网上。

代码语言:javascript
复制
cursor.execute('Select * from process WHERE email=%s ORDER BY timestamp DESC LIMIT 20', ("tommy345a@outlook.com",))

但是,当我执行相同的查询时,只针对不同的用户,就没有问题了。

代码语言:javascript
复制
cursor.execute('Select * from process WHERE email=%s ORDER BY timestamp DESC LIMIT 20', ("cafahxxxx@gmail.com",))

页面正确加载。

有关MySQL的更多详细信息如下

代码语言:javascript
复制
#modules used
from flask_mysqldb import MySQL
import MySQLdb.cursors

#setup
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'myusername'
app.config['MYSQL_PASSWORD'] = 'mypassword'
app.config['MYSQL_DB'] = 'my_db'
mysql = MySQL(app)

#extract of requests made to db
@app.route('/myhome', methods=['GET', 'POST'])
def home_page():
email = "tommy345a@outlook.com"
cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor)
cursor.execute('SELECT * FROM mail WHERE email = %s', (email,))
completed = cursor.fetchone()
cursor.execute('SELECT sum(transaction) FROM transactions WHERE email=%s', (email,))
points = cursor.fetchone()
cursor.execute('Select * from process WHERE email=%s ORDER BY timestamp DESC LIMIT 20', (email,))
transactions = cursor.fetchall()

我将在这里发布Mysql的处理表,这样您就可以知道为什么这个问题发生在红色标记的用户,而不是绿色标记用户。

另外,这可能是数据包大小的问题,但直到昨天我才遇到任何问题(用户汤米下面有超过11条条目)。我删除了6行,但仍然不起作用)。此外,如果您认为这是由于数据包大小,请告诉我如何解决它而不增加数据包大小,因为我在一个共享网络和主机提供商是不允许我增加数据包大小的限制。

结构

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-09 16:11:06

有许多潜在的原因,“服务器已经消失”,其中只有一个是由于数据太大,您的最大允许的数据包大小。

https://dev.mysql.com/doc/refman/8.0/en/gone-away.html

如果这是由于数据太大而造成的,请记住,每一行结果都是它自己的数据包。并不是整个结果集必须适合在一个包中。如果您有11行,并且删除了6行,但仍然得到了错误,那么导致问题的行仍然存在。

你可以:

  • 移除过大的行。您可能希望更改表的列数据类型,这样给定的行就不会太大。您展示了一些数据的屏幕截图,但我不知道您使用的是什么数据类型。提示:使用SHOW CREATE TABLE process.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68713797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档