Python操作数据库出现的问题

问题一

我在使用Python操作mysql时出现:pymysql.err.OperationalError: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '你的主机中的软件中止了一个已建立的连接。', None, 10053, None))")

问题的出现:我是使用了sqlalchemypymysql驱动操作数据库的。过一段时间没有数据库的操作时,然后又操作了数据库的添加时就出来了上面的问题。

错误原因:是因为我的数据库默认2分钟不从数据库取数据则断开连接,如下图中的interactive_timeout,其值为120秒,也就是2分钟

如下图所示:
image

检查问题

show global variables like '%timeout%';

解决问题

  • 可以将interactive_timeout设置大一些。如:
mysql> set global interactive_timeout=86400;

image

再通过show global variables like '%timeout%';查看如下图所示:
image

问题二

我在使用Python操作Mysql数据库时出现问题:(pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([WinError 10053] 你的主机中的软件中止了一个已建立的连接。)')

错误原因:是因为MySQL持久化链接保持时间wait_timeout。我的数据库的持久化链接保持时间是2分钟。如下图所示:
image

解决问题

  • wait_timeout持久化链接保持时间长一些。如下:
mysql> set global wait_timeout=7200;

72002小时

原文地址:https://www.cnblogs.com/zhenzi0322/p/14703618.html