开发者社区> 问答> 正文

如何启用MySQL客户端与MySQLdb自动重新连接??mysql

我遇到了PHP的窍门:

my_bool reconnect = 1; mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect); 但是MySQLdb(python-mysql)没有运气。

有人可以提供线索吗?谢谢。

展开
收起
保持可爱mmm 2020-05-17 17:16:53 555 0
1 条回答
写回答
取消 提交回答
  • 我通过创建一个包装cursor.execute()方法的函数解决了这个问题,因为那是引发MySQLdb.OperationalError异常的原因。上面的另一个示例隐含conn.cursor()了引发此异常的方法。

    import MySQLdb

    class DB: conn = None

    def connect(self): self.conn = MySQLdb.connect()

    def query(self, sql): try: cursor = self.conn.cursor() cursor.execute(sql) except (AttributeError, MySQLdb.OperationalError): self.connect() cursor = self.conn.cursor() cursor.execute(sql) return cursor

    db = DB() sql = "SELECT * FROM foo" cur = db.query(sql)

    wait a long time for the Mysql connection to timeout

    cur = db.query(sql)

    still works来源:stack overflow

    2020-05-17 17:23:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像