这是使用mysql.connector模块与MySQL数据库的简单连接。
db = mysql.connector.connect(
host=DB_SERVER,
port=DB_PORT,
user=DB_UNAME,
passwd=DB_PASSWORD,
db=DB_NAME)
db.connect()
mysqlCursor.execute(query)
我想控制两个不同的超时。首先,我希望它在.connect()函数上花费的时间不超过五秒。我弄清楚了。 其次,我希望它在.execute()函数上花费的时间不超过一秒。我怎么能这样做?
我是数据库管理员,所以如果需要,我可以为此做点什么。我宁愿只更改一个特定MySQL用户的超时,而不是每个人,这就是我从Python端开始的原因。
这是我到目前为止所发现的:
mysql.connecter的documentation列出了几个超时参数。 Connect-timeout将设置初始连接的超时,但据我所知,它不会设置查询超时。如果没有活动,交互超时将导致超时,但我认为这意味着如果查询执行时间太长,它将超时。
连接超时=秒 以秒为单位连接超时。在Linux上,此超时也用于等待服务器的第一个答案。 (超时已被connect-timeout取代,但MySQL 5.0仍然支持超时以实现向后兼容。)
互动超时=秒 在关闭连接之前允许几秒钟不活动。客户端的会话wait_timeout变量设置为会话interactive_timeout变量的值。
答案 0 :(得分:0)
从MySQL 5.7.8开始,每个会话可以设置maximum execution time for just SELECT statements。连接后立即设置:
click()