我有一些代码可以支持alexa前端。
它运行在Rpi上,是通过python查询mysql数据库,flask-ask等。
它一天到晚都可以正常工作,第二天早上我收到一个错误2006(mysql已经消失)错误,必须重新启动python脚本。
我检查了配置并设置了connect_timeout = 10。
我以为这是几个小时,但似乎定义为秒...。所以我不明白我的代码是如何整天工作的,并且只有在晚上睡觉后才会失败。我当然不是每10秒运行一次查询。
我找到了ping命令并想尝试重新建立连接,但是如果每次测试之间都要上床睡觉,测试会有些痛苦,所以我真的想将超时设置为10秒这样我就可以随意重现错误并测试ping。
任何提示这是如何工作的,几秒钟后我如何使其超时?
非常感谢
G
答案 0 :(得分:0)
mysql中有许多不同的超时参数,例如:
mysqld服务器等待连接数据包之前以错误握手响应的秒数。
SELECT语句的执行超时(以毫秒为单位)。如果值为0,则不启用超时。
服务器在关闭交互式连接之前等待活动的秒数。
服务器在关闭非交互式连接之前等待活动的秒数。
您需要调查哪个超时在用例中引起问题,并进行相应的修改。根据您对问题的描述,您在其中解释了脚本在睡眠状态时通宵丢失的连接可能是wait_timeout
(或interactive_timeout
,具体取决于连接的启动方式)。