Python操作数据库出现的问题
问题一
我在使用
Python操作mysql时出现:pymysql.err.OperationalError: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '你的主机中的软件中止了一个已建立的连接。', None, 10053, None))")。
问题的出现:我是使用了sqlalchemy和pymysql驱动操作数据库的。过一段时间没有数据库的操作时,然后又操作了数据库的添加时就出来了上面的问题。
错误原因:是因为我的数据库默认2分钟不从数据库取数据则断开连接,如下图中的interactive_timeout,其值为120秒,也就是2分钟。
如下图所示:

检查问题
show global variables like '%timeout%';
解决问题
- 可以将
interactive_timeout设置大一些。如:
mysql> set global interactive_timeout=86400;

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

问题二
我在使用
Python操作Mysql数据库时出现问题:(pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query ([WinError 10053] 你的主机中的软件中止了一个已建立的连接。)')。
错误原因:是因为MySQL持久化链接保持时间wait_timeout。我的数据库的持久化链接保持时间是2分钟。如下图所示:

解决问题
- 把
wait_timeout持久化链接保持时间长一些。如下:
mysql> set global wait_timeout=7200;
7200是2小时。

浙公网安备 33010602011771号