【问题标题】:Why would a MySQL database "go away" during a SQLAlchemy query? [duplicate]为什么 MySQL 数据库会在 SQLAlchemy 查询期间“消失”? [复制]
【发布时间】:2016-03-18 16:22:06
【问题描述】:

我正在编写一个带有“用户”表并使用 SQLAlchemy 的简单 Flask WSGI Web 应用程序。从该表中检索用户作为对象时,会出现以下错误:

OperationalError: (_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away') 
[SQL: u'SELECT users.uid AS users_uid, users.username AS users_username, users.fullname AS users_fullname, users.password AS users_password, users.score AS users_score, users.totalattempted AS users_totalattempted, users.totalcorrect AS users_totalcorrect, users.settings AS users_settings \\nFROM users \\nWHERE users.uid = %s \\n LIMIT %s'] [parameters: (11, 1)]

对于我的登录会话管理,我使用 login_manager 加载用户方法:

@login_manager.user_loader
def load_user(uid):
    return get_user_by_uid(uid)

然后这会调用我的get_user_by_uid(uid) 方法:

def get_user_by_uid(uid):
    uid = int(uid)
    return session.query(User).filter(User.uid == uid).first()

get_user_by_uid(uid) 方法的目的是接受用户的 ID,并将其作为易于使用的对象返回。 OperationalError 是我的查询逻辑有问题,还是我的实际 MySQL 服务器有问题?

谢谢!

【问题讨论】:

  • 你的mysql服务器是本地的吗?它是否发生在另一个环境中?
  • @Cyrbil 是 - 服务器是本地的。我可能还应该注意,服务器将在部分时间执行查询,但我似乎无法找到此错误与这些回溯旁边的查询活动之间的相关性。谢谢!

标签: python mysql flask sqlalchemy mod-wsgi


【解决方案1】:

如果没有很多活动,MySql 服务器会这样做

请参阅http://dev.mysql.com/doc/refman/5.7/en/gone-away.html 了解所有可能的解决方案

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 2013-12-08
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多