golang go-sql-driver gorm 数据库报错 bad connection

Posted 禅与计算机程序设计艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang go-sql-driver gorm 数据库报错 bad connection相关的知识,希望对你有一定的参考价值。

开发Go项目中,有时候在有大量操作mysql时,有时候会发生如下错误。

"driver: bad connection"

原因

这是因为Mysql服务器主动关闭了Mysql链接。
在项目中使用了一个mysql链接,同时使用了事务,处理多个表操作。处理时间长。
导致空闲链接超时,Mysql关闭了链接。而客户端保持了已经关闭的链接。

具体原因是

没有设置 db.SetConnMaxLifetime ,导致客户端保持了已经关闭的链接。

解决

// 设置数据库闲链接超时时间
    write.SetConnMaxLifetime(time.Second * 300)

以上是关于golang go-sql-driver gorm 数据库报错 bad connection的主要内容,如果未能解决你的问题,请参考以下文章

golang go-sql-driver gorm 数据库报错 bad connection

golang学习之旅:使用go语言操作mysql数据库

golang 之 sql

Golang入门到项目实战 | golang结构体的初始化

Linux Golang 打开Mysql

Golang mysql