关于java:SQL错误:0,SQLState:08S01通信链接失败

您所在的位置:网站首页 mysql08s01 关于java:SQL错误:0,SQLState:08S01通信链接失败

关于java:SQL错误:0,SQLState:08S01通信链接失败

2023-09-05 18:49| 来源: 网络整理| 查看: 265

我收到此错误(不是那么频繁):

12345678910111213141516171819202122232425262728293031323334353637383940414243444546472013-05-08 16:44:35,786  WARN (JDBCExceptionReporter.java:100) [org.hibernate.util.JDBCExceptionReporter, logExceptions] - SQL Error: 0, SQLState: 08S01 2013-05-08 16:44:35,786 ERROR (JDBCExceptionReporter.java:101) [org.hibernate.util.JDBCExceptionReporter, logExceptions] - Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 2013-05-08 16:44:35,833 ERROR (AdminDaoImpl.java:297) [com.myapp.admin.db.AdminDaoImpl, createFilePackage] - data-upload: Exception while adding new file package org.hibernate.exception.JDBCConnectionException: Cannot open connection     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354) [hibernate-core-3.3.2.GA.jar:3.3.2.GA]     at com.myapp.admin.db.AdminDaoImpl. createFilePackage(AdminDaoImpl.java:182) [AdminDaoImpl.class:na]     at com.myapp.admin.ctrl.UploadController.processUploadZip(UploadController.java:217) [UploadController.class:na]     at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source) [na:na]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_35]     at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_35]     at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212) [spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) [spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) [servlet-api.jar:na]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) [servlet-api.jar:na]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) [catalina.jar:7.0.35]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.35]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.35]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) [catalina.jar:7.0.35]     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) [catalina.jar:7.0.35]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.35]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) [catalina.jar:7.0.35]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.35]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) [catalina.jar:7.0.35]     at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200) [tomcat-coyote.jar:7.0.35]     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) [tomcat-coyote.jar:7.0.35]     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) [tomcat-coyote.jar:7.0.35]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_35]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_35]     at java.lang.Thread.run(Thread.java:662) [na:1.6.0_35] Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

我在共享服务器上托管了两个Web(spring mvchibernatemysql)应用程序:

1)主应用程序以显示要下载的文件(通过管理应用程序插入)

2)具有CRUD操作的管理应用程序

有时会出现此错误,当我使用"管理员"应用程序为"主"应用程序上传文件时,可以说可能是在成功上传/处理了约100-120个文件/请求之后,并且每个请求都命中了数据库中的10- 20个插入/更新查询。

托管详细信息:

1234567Private tomcat hosting java 1.6.0_35-b10 tomcat 7.0.35 heap size 288MB MySQL Server 5 commons-dbcp 1.2.2 mysql-connector-java 5.1.9

数据库hibernateDBCP属性:

12345678910111213141516171819202122232425262728293031323334353637                                                                                                 hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.hbm2ddl.auto=none hibernate.jdbc.batch_size=100 hibernate.show_sql=false hibernate.format_sql=false hibernate.cache.use_second_level_cache=true hibernate.cache.use_query_cache=false hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider hibernate.current_session_context_class=thread

相关代码:

1234567891011121314151617181920public String createFilePackage(FilePackage package) {     String message ="";     Session session = getSessionFactory().openSession();     Transaction tx = null;     try {         tx = session.beginTransaction();         // handling package, around 10-14 DB insert, 10 SELECT and 5 update queries on same session         tx.commit();     } catch(Exception e) {         logger.error("file-upload: Exception while adding new font package", e);         if(tx != null) { tx.rollback(); }     } finally {         session.close();     }     return message; }

有人建议如何解决此问题吗?

相关讨论 查看mysql日志。查看其中是否包含某些内容来解释为什么意外断开连接。 可能是交易超时?

在函数完成处理之前,驱动程序与驱动程序试图连接的数据源之间的通信链接失败。 因此通常是网络错误。这可能是由于数据包丢失或防火墙/交换机配置错误造成的。

相关讨论 我有一个与问题中所述类似的问题。我同意Marciej的回答。在企业网络上,我的本地开发机正在断开与db服务器的连接,但是位于另一组防火墙之后的部署环境服务器能够连接至同一db并保持其连接而不会出现问题。我的本地开发机将在设置后2分钟内断开连接。我还发现,在我们的无线网络中运行可以保持连接,而有线连接则不存在(并且两者都通过不同的路由/防火墙运行)。 当套接字超时小于查询时间时,长时间运行的查询也会发生这种情况。 jdbc:mariadb:aurora:// myHost / db?socketTimeout = 0可用于设置socketTimeout值。

检查服务器配置文件/etc/mysql/my.cnf-确认bind_address未设置为127.0.0.1。将其设置为0.0.0.0或将其注释掉,然后使用以下命令重新启动服务器:

1sudo service mysql restart 相关讨论 我在Mac中找不到/etc/mysql文件夹。我需要为Mac搜索其他文件吗? 谢谢,这是我的问题。 我有同样的错误,但是在配置文件中找不到bind_address。这可能是错误的原因吗?

我正在专门回答此错误代码(08s01)。

通常,MySql关闭套接字连接是在MySQL服务器端定义的wait_timeout的某个时间间隔,默认情况下为8小时。因此,如果连接在此时间之后超时并且套接字将抛出SQLState为" 08s01"的异常。

1。使用连接池执行查询,确保池类具有在超时之前检查连接成员的功能。

2。给出的值大于默认值,但最大值为24天

3。在连接URL中使用另一个参数,但是不建议使用此方法,该方法可能已弃用。

可能是由于TCP协议已关闭。

如何检查/启用: https://dba.stackexchange.com/questions/11377/cannot-connect-to-ms-sql-2008-r2-by-dbvisualizer-native-sspi-library-not-loade/144097#144097



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3