go-sql-driver发生invalid connection(bad connection)解决方法讨论

niclelin · · 16534 次点击
666,已解决问题
#5
更多评论
当然这是因为服务端主动关闭了连接,因为服务端对连接的保持超时时间到了也关闭的,所以可以设置客户端连接超时时间小于服务端DB.SetConnMaxLifetime(time.Second)
#1
因为beego没有调用db.SetConnMaxLifetime 这个方法,导致客户端保持了已经关闭的链接,修改 addAliasWthDB 方法,在方法里面,添加 db.SetConnMaxLifetime(time.Second),time.Second 为数据库闲链接超时时间,而这个时间应该小于数据库设置闲时链接超时时间
#2