全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于 MySQL的 wait_timeout连接超时问题报错解决方案 Mysql服务器默认的“wait_timeout”是 8小时【也就是默认的值默认是 28800 秒】,也就是说一个 connection空闲超过 8个小时,Mysql 将自动断开该 connection,通俗的讲就是一个连接在 8小时内没有活动,就会自动断开该连 接。 wait timeout的值可以设定,但最多只能是 2147483,不能再大了。也就是约 24.85天 所以即使你 MySQL通过 my.ini 在 # The TCP/IP Port the MySQL Server will listen on port=3306下面添加 # this is myown dinifition for mysql connection timeout wait_timeout=31536000 interactive_timeout=31536000 无论超过最大限度多大的数值,只能被 MySQL解析为 2147483,2147483 天后你 的程序该出什么错还是什么错,避免不了的 在说这个错误之前先说明我的项目是通过 Hibernate来进行数据库操作的 关于 MySQL连接超时问题,估计很多人都遇到过:大致情形都是这样,开发测 试时程序都是正常的,一到第二天就出先莫名错误,比如在我的项目中就是定 时任务执行,每天凌晨一点执行一次,也就是 24小时每隔 24小时执行,远远 超出了 8小时 如果你刚好在数据库超时的第一时间内看到日志记录的话那么,第一次超时发 生的错误就是这样的: ERROR org.hibernate.util.JDBCExceptionReporter - Communications link failure Last packet sent to the server was 0 ms ago. 如果不是第一次超时后执行,以后每次报错就变成嵌套的错误了,就是下面这 样: ERROR org.hibernate.util.JDBCExceptionReporter - No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error: * BEGIN NESTED EXCEPTION * com.mysql.jdbc.exceptions.jdbc4.CommunicationsException MESSAGE: The last packet successfully received from the server was86395 milliseconds ago.The last packet sent successfully to the server was 86395 milliseconds ago, which is longer than the server configured value of wait_timeout. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property autoReconnect=true to avoid this problem. STACKTRACE: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was86395 milliseconds ago.The last packet sent successfully to the server was 86395 milliseconds ago, which is longer than the server configured value of wait_timeout. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property autoReconnect=true to avoid this problem. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1 074) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3270) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1932) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja va:1761) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java: 1912) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java: 208) at org.hibernate.loader.Loader.getResultSet(Loader.java:1812) at org.hibernate.loader.Loader.doQuery(Loader.java:697) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo ader.java:259) at org.hibernate.loader.Loader.doList(Loader.java:2232) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129) at org.hibernate.loader.Loader.list(Loader.java:2124) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.ja va:363) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:1 96) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.j ava:835) at .util.db.TargetRecordDaoImpl.findbyIdAndDate(TargetRecordDaoImp l.java:23) at .util.parser.ExcelOperate.readExcel(ExcelOperate.java:324) at .util.parser.ExcelParser.parser(ExcelParser.java:41) at .util.timer.CRMExcelParserTarger.execute(CRMExcelParserTarger.j ava:76) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j ava:549) Caused by: .SocketException: Software caused connection abort: socket write error at .SocketOutputStream.socketWrite0(Native Method) at .SocketOutputStream.socketWrite(Unknown Source) at .SocketOutputStream.write(Unknown Source) at java.io.BufferedOutputStream.flushBuffer(Unknown Source) at java.io.BufferedOutputStream.flush(Unknown Source) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3251) . 24 more * END NESTED EXCEPTION * 具体解释是这样的:Mysql 服务器默认的“wait_timeout”是 8小时【也就是 默认的值默认是 28800秒】,也就是说一个 connection空闲超过 8个小时, Mysql将自动断开该 connection,通俗的讲就是一个连接在 8小时内没有活动, 就会自动断开该连接。 wait timeout的值可以设定,但最多只能是 2147483,不能再大了。也就是约 24.85天 所以即使你 MySQL通过 my.ini 在 # The TCP/IP Port the MySQL Server will listen on port=3306下面添加 # this is myown dinifition for mysql connection timeout wait_timeout=31536000 interactive_timeout=31536000 无论超过最大限度多大的数值,只能被 MySQL解析为 2147483,2147483 天后你 的程序该出什么错还是什么错,避免不了的 后来发现 Hibernate的内置连接池性能是非常的差,还不如直接用第三方的 c3p0,改用 C3P0连接池,这 个连接池会自动 处理数据库连接被关闭的情况。要使用 C3P0很简单,先从 Hibernate里把 c3p0-0.9.1.jar复 制到项目的 lib目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化遗产保护投资收益与政府项目资助
- 2.9 辽、西夏与北宋并立说课稿 2025年统编版七年级历史下册
- 7.1.1 植物的生殖2025-2026学年八年级下册生物同步说课稿(人教版)
- 建筑焊工练习题和答案(Part9)
- 9.3 分式方程 说课稿 2025年沪科版数学七年级下册
- 2019年春八年级物理下册 第九章 第1节 压强说课稿 (新版)新人教版
- 2024-2025学年新教材高中语文 第二单元 4.1 喜看稻菽千重浪-记首届国家最高科技奖获得者袁隆平说课稿 部编版必修上册
- 七年级生物上册 第三单元 生物圈中的绿色植物 第一章 生物圈中有哪些绿色植物第二节 种子植物说课稿 (新版)新人教版
- 2025年北京 遴选 真题
- 2025年质量员水利模拟试题及答案2
- 甘肃开放大学2025年《地域文化(本)》形成性考核1-3终考答案
- 畜牧兽医专业职业规划
- 2026年河南女子职业学院单招职业技能考试必刷测试卷带答案
- 团干部培训分享
- 2026届湖南省华大新高考联盟高三上学期9月教学质量测评(一模)物理试题(解析版)
- 微量泵的使用方法及注意事项
- 游泳池安全保障制度和措施
- 2025年枣庄市工会社会工作者公开招聘(34人)笔试考试参考试题附答案解析
- 印花税法专项培训
- 2025湖南长沙融发集团招聘8人考试笔试模拟试题及答案解析
- 供应商管理资质及准入标准模板
评论
0/150
提交评论