美文网首页
go-sql-driver: invalid connectio

go-sql-driver: invalid connectio

作者: 不要重不要重 | 来源:发表于2019-03-18 13:18 被阅读0次

    原因1:服务端主动关闭了连接
    查看mysql 超时时间

    show variables like  '%timeout%';
    

    找到 wait_timeout,单位秒
    然后设置空闲连接的最大生存时间小于mysql 的超时时间

    db.SetConnMaxLifetime(3600*time.Second)
    

    原因2:并发量大于允许的最大连接数
    调大允许打开的最大 连接数和闲置连接,最大闲置连接和 可以打开的最大连接数 最好保持一致

    db.SetMaxIdleConns(20)
    db.SetMaxOpenConns(20)
    

    解释:go-sql-driver保持了一个连接池,如果发现有连接失效,会主动释放连接,每次会取新的连接

    续集: 使用go-sql-driver/mysql包报错 unexpected EOF
    报错信息:

    [mysql] 2019/06/10 15:12:24 packets.go:36: unexpected EOF
    

    还是SetConnMaxLifetime的问题导致的
    谨记,小于wait_timeout。

    相关文章

      网友评论

          本文标题:go-sql-driver: invalid connectio

          本文链接:https://www.haomeiwen.com/subject/mquvmqtx.html