Python MySQL中的休眠进程
我有一系列的python脚本,它们被设计为长时间运行。当我查看MySQL进程监视器时,我看到其中三个始终具有0的时间,然后我用于实际将数据插入数据库的其中两个将具有始终递增的值,并且永远不会重置为0,这意味着它们最终会遇到可怕的“MySQL已消失” 我正在使用MySQLdb 有人能解释一下为什么会这样吗 有没有办法确保他们将该值重置为0Python MySQL中的休眠进程,python,mysql,mysql-python,Python,Mysql,Mysql Python,我有一系列的python脚本,它们被设计为长时间运行。当我查看MySQL进程监视器时,我看到其中三个始终具有0的时间,然后我用于实际将数据插入数据库的其中两个将具有始终递增的值,并且永远不会重置为0,这意味着它们最终会遇到可怕的“MySQL已消失” 我正在使用MySQLdb 有人能解释一下为什么会这样吗 有没有办法确保他们将该值重置为0 谢谢听起来您的空闲超时即将到期。不过,这是在mysqld服务器配置中设置的,对于MySQLdb来说并不是什么问题。您需要在服务器配置中或在连接时使用SQL语句调
谢谢听起来您的空闲超时即将到期。不过,这是在mysqld服务器配置中设置的,对于MySQLdb来说并不是什么问题。您需要在服务器配置中或在连接时使用SQL语句调整系统变量。听起来您的空闲超时即将过期。不过,这是在mysqld服务器配置中设置的,对于MySQLdb来说并不是什么问题。您需要在服务器配置中或连接时使用SQL语句调整系统变量。我可以使用什么来创建与MySQLdb的持久连接?有一个
connection.ping()
方法可用于测试连接是否仍然打开。如果未打开,它将引发异常,然后您可以手动重新打开它。或者,您可以使用connection.ping(True)
以静默方式重新打开连接。请注意,在启动事务(执行任何类型的查询)之前,应该使用ping()
。从这个答案中可以看出,在请求之前ping是一个好主意吗?在每个查询之前ping是一个好主意吗?否。如果问题是空闲连接正在关闭,则在启动事务(即第一次查询)之前ping可能是明智的。在这之后,连接不太可能消失,即使它消失了,如果您在事务中,它也会被有效地回滚。实际上,我从未为此使用过ping。我可以使用什么来创建与MySQLdb的持久连接?有一个connection.ping()
方法可用于测试连接是否仍然打开。如果未打开,它将引发异常,然后您可以手动重新打开它。或者,您可以使用connection.ping(True)
以静默方式重新打开连接。请注意,在启动事务(执行任何类型的查询)之前,应该使用ping()
。从这个答案中可以看出,在请求之前ping是一个好主意吗?在每个查询之前ping是一个好主意吗?否。如果问题是空闲连接正在关闭,则在启动事务(即第一次查询)之前ping可能是明智的。在这之后,连接不太可能消失,即使它消失了,如果您在事务中,它也会被有效地回滚。实际上,我从未为此使用过ping。