首页 > 其他分享 >golang查询数据报错:closing bad idle connection: unexpected read from socket

golang查询数据报错:closing bad idle connection: unexpected read from socket

时间:2023-07-01 15:32:06浏览次数:50  
标签:unexpected socket 数据库 查询 报错 timeout 连接 wait

原因

应用程序在使用驱动的有效空闲连接时候,发现数据库的连接已经失效(因为连接超过wait_timeout时间),用一个失效的连接查数据,所以报错。

解决办法

  1. 将sql驱动SetConnMaxLifetime和SetConnMaxIdleTime设置时间,并且小于数据库的wait_timeout时间(单位秒)。
  2. 调小wait_timeout。

分析

应用程序配置 数据库配置 分析
SetConnMaxLifetime,SetConnMaxIdleTime wait_timeout maxLifeTime=30s,wait_timeout=20s,如果在25s时候查询,由于空闲连接没被释放,那么报错,如果在35s时候查询,会用新的连接,不会报错

查询和设置wait_timeout

show global variables like 'wait_timeout'; set global wait_timeout=20000;

标签:unexpected,socket,数据库,查询,报错,timeout,连接,wait
From: https://blog.51cto.com/thinklili/6599898

相关文章

  • 部署java的linux服务器远程报错:[USM] Channel request shell failed
    问题部署很多个微服务的linux服务器ssh远程突然进不去,远程工具提示:[USM]Channelrequestshellfailed排查分析因为部署的是很多个java进程,有可能线程数占满导致系统可创建线程耗尽,排查步骤如下:使用非远程方式进入服务器,使用top-H命令查看系统创建的线程数:查看系统允许创......
  • 启动mysql时报错Failed to start mysqld.service: Unit not found
    问题描述:启动mysql时报错Failedtostartmysqld.service:Unitnotfound,如下所示:数据库:mysql5.7.42系统:rhel7.31、问题重现--mysql安装过程[root@leo-mysql-master~]#yumlocalinstallhttps://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm[root@leo......
  • SQLserver登陆报错
    今天也不知道sqlserver抽了什么风,无论是windows登录还是sa登录,登录的时候总是提示错误233。windows登录错误是根本不能建立连接,初始化错误,给了很多原因,sql版本不对啦,连接数超过限制啦;sa登录时错误是连接已建立,但登录过程中发生错误。sorry没截图,反正跟网上的差不多。     网......
  • socket网络编程(三)——select多路复用问题
    1、select诞生的原因在上文我们提到了多客户端的时候,多台客户端发送数据到服务端的话,只能有一台客户端可以正常发送和接受数据,另外一台完全没有反应,那这个问题怎么解决呢?很多人可能第一反应想到利用多线程技术,线程多的话用线程池来维护。的确,多线程确实可以实现这个效果,但是,可能很......
  • PyCharm 运行时报错 allure: command not found
    安装Allure(Mac)方法一brewinstallallure方法二可能因为网络等,方式一会下载失败,可以通过以下方式安装1.https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/下载对应版本的压缩包2.配置环境变量-exportPATH=$PATH:/Users......
  • 2023.6.30//关于java链接SQLserver数据库报错:驱动程序无法通过使用安全套接字层(SSL)
    详情如下:驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接。错误:“PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget”。ClientConnectionId:32d1......
  • rsyslog写入日志文件报错的问题
    1、使用logger发送系统通知日志,[root@Infor-test01~]#loggercccccccaaaaaaaadddddddd 报错信息也写入到了日志,   修改类型,并且修改权限777。: http://www.178linux.com/98614/comment-page-1其中最重要的一项为文件的type标签,如httpd进程只能在httpd_t里运行,/etc/passwd......
  • 3588 编译android12 过程中的报错。
     怀疑是当初解压的时候使用的是sudo.   ......
  • Nginx 报错 504 Gateway Time-out 和无法上传大于1M文件的解决方法
    Nginx报错504GatewayTime-out的解决方法修改nginx.conf配置文件。keepalive_timeout600;fastcgi_connect_timeout600;fastcgi_send_timeout600;fastcgi_read_timeout600;proxy_connect_timeout600;proxy_send_timeout600;proxy_read_timeou......
  • Subcontracting订单的报错信息分析
    本文记录下外协订单报错信息的分析过程。1.在保存订单时出现报错信息“Subcontractingasstocktransferwithinacompanycodenotpossible"分析:外协订单可用于委外加工的业务,提供原材料给外包供应商进行加工,供应商完成加工之后发回。因此该业务的对象为供应商,不能用于公司间不......