我遇到了MySQL超时问题,8小时后就离开了。我使用谷歌应用引擎作为主机。我的Python脚本使用Tornado框架。
现在我在主服务器脚本顶部的任何函数之前实例化我的MySQL数据库连接。一旦我部署了它,时钟开始计时,大约8个小时后,MySQL将消失,我将不得不再次部署我的脚本。
我一直没有使用db.close(),因为我听说重启数据库连接需要很长时间。这是真的?或者有没有正确的方法来使用db.close()?
我的一位朋友建议我尝试获取数据库实例,然后在每个函数之后将其关闭..是推荐的,我可以在哪里找到一些教程?
我主要在这里寻找资源,但是如果有人想为我做好准备,那就太棒了。
提前谢谢大家。
答案 0 :(得分:1)
由于wait_timeout
会话变量,连接正在消失
是服务器在非交互式连接上等待活动的秒数
关闭之前。
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout
好的方法是每次关闭连接并创建一个新的连接,如果你不经常重复使用相同的连接,否则你可以增加wait_timeout
答案 1 :(得分:0)
建立与MySQL数据库的连接应该非常快,并且只要你需要就保持连接打开当然是个好习惯。
我不确定为什么您的连接在8小时内无响应 - 您是否尝试过检查设置?
Python中的正确命令是connection.close()。