2017-10-11 9 views
1

최대 절전 모드를 사용하는 tomcat 웹 응용 프로그램에서 localhost (= 호출 할 수 있음)의 MySql (= MariaDB) 계속 통신 링크 오류가 발생합니다 (아래에 첨부 된 전체 예외 추적).MySql에 대한 Tomcat/Hibernate 연결이 "통신 링크 실패"및 "사용 권한 거부"와 함께 실패합니다.

다른 컴퓨터에 DB의 다른 복제본 (B라고도 함)이 있으며 개발을 위해 세 번째 컴퓨터 (C라고도 함)를 사용합니다.

1) C에서 DB 중 하나 (A & B)로 연결할 때 아무런 문제가 없습니다. 2) "A"에서 DB에 로컬로 연결하는 데 문제가 없습니다 ('mysql -u'명령 실행). 또한 포트 3306에서 텔넷을 A 또는 B에 연결하는 데 문제가 없으므로 두 DB가 모두 실행 중이며 연결에 사용할 수 있다고 가정합니다.

유일한 문제는 생산 tomcat (A에서 실행 중)에서 A 또는 B db로 연결하려고 할 때입니다. 내가 오류 얻을 :이 오류의 유사한 경우에서

com.mysql.cj.jdbc.exceptions.CommunicationsException: 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. 

를, 나는 오류의 대부분이 유효하지 않은 사용자에게 있었다 보았다/자격 증명 또는 불법 IP를 전달합니다. 또한 ip를 localhost, 127.0.0.1 및 10.90.41.155 (실제 IP 주소)로 변경하려고했습니다.) 는 1) 카탈 시작 2 "를 -Djava.net.preferIPv4Stack = true"로 추가 : 아무것도 할 수없고, 또한 다음과 같은

가 나는 또한 시도 연결은 A.에 특정 바람둥이 설치에서 실패하는 것을 명심 잘못된 주소/포트에 연결을 시도했습니다. 이로 인해 (예상대로) "허가 거부"에서 "호스트 경로 없음"으로 최종 오류가 변경되었습니다. 3) 연결 문자열에 다음을 추가했습니다. "autoReconnect = true & useUnicode = true & createDatabaseIfNotExist = true & characterEncoding = utf-8"- 이로 인해 동일한 오류가 발생했습니다 ("3 회 다시 시도했습니다. 권한 거부 (연결 실패) " 4) DB URL을 모두 시도했습니다. localhost, 127.0.0.1 및 실제 ip로 시도한 로컬 DB에 대해. 로와하지 않고 모두 시도

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
    <session-factory> 
    <property name="hibernate.dialect"> 
     org.hibernate.dialect.MySQLDialect 
    </property> 
    <property name="hibernate.connection.driver_class"> 
     com.mysql.jdbc.Driver 
    </property> 

    <!-- Assume test is the database name --> 
    <property name="hibernate.connection.url"> 
     jdbc:mysql://10.90.41.151/boonder 
    </property> 
    <property name="hibernate.connection.username"> 
     root 
    </property> 
    <property name="hibernate.connection.password"> 
    XXXXXXXXXX 
    </property> 

    <!-- List of XML mapping files  --> 
    <mapping resource="User.hbm.xml"/> 
    <mapping resource="Issue.hbm.xml"/> 
    <mapping resource="TraderIssue.hbm.xml"/> 

</session-factory> 
</hibernate-configuration> 

예외는 다음과 같습니다 :

 type Exception report 

     message Handler dispatch failed; nested exception is java.lang.ExceptionInInitializerError 

     description The server encountered an internal error that prevented it from fulfilling this request. 

     exception 

     org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.ExceptionInInitializerError 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     root cause 

     java.lang.ExceptionInInitializerError 
      com.aldondy.boonder.bl.DataSingleton.<init>(DataSingleton.java:54) 
      com.aldondy.boonder.bl.DataSingleton.instance(DataSingleton.java:74) 
      com.aldondy.boonder.web.controllers.LoginCtrl.loginInner(LoginCtrl.java:62) 
      com.aldondy.boonder.web.controllers.LoginCtrl.login(LoginCtrl.java:41) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      java.lang.reflect.Method.invoke(Method.java:498) 
      org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:180) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     root cause 

     org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:271) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
      org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) 
      org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) 
      org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) 
      org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) 
      com.aldondy.boonder.bl.DataSingleton.<init>(DataSingleton.java:48) 
      com.aldondy.boonder.bl.DataSingleton.instance(DataSingleton.java:74) 
      com.aldondy.boonder.web.controllers.LoginCtrl.loginInner(LoginCtrl.java:62) 
      com.aldondy.boonder.web.controllers.LoginCtrl.login(LoginCtrl.java:41) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      java.lang.reflect.Method.invoke(Method.java:498) 
      org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:180) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     root cause 

     org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect 
      org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:115) 
      org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:101) 
      org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:123) 
      org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:41) 
      org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:123) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:42) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:20) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161) 
    ... 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) 
      com.aldondy.boonder.bl.DataSingleton.<init>(DataSingleton.java:48) 
      com.aldondy.boonder.bl.DataSingleton.instance(DataSingleton.java:74) 
      com.aldondy.boonder.web.controllers.LoginCtrl.loginInner(LoginCtrl.java:62) 
      com.aldondy.boonder.web.controllers.LoginCtrl.login(LoginCtrl.java:41) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      java.lang.reflect.Method.invoke(Method.java:498) 
      org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:180) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     root cause 

     com.mysql.cj.jdbc.exceptions.CommunicationsException: 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. 
      com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:166) 
      com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:58) 
      com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:853) 
      com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440) 
      com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) 
      com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221) 
      org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38) 
      org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) 

    ... 

    org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) 
      org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) 
      org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) 
      com.aldondy.boonder.bl.DataSingleton.<init>(DataSingleton.java:48) 
      com.aldondy.boonder.bl.DataSingleton.instance(DataSingleton.java:74) 
      com.aldondy.boonder.web.controllers.LoginCtrl.loginInner(LoginCtrl.java:62) 
      com.aldondy.boonder.web.controllers.LoginCtrl.login(LoginCtrl.java:41) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      java.lang.reflect.Method.invoke(Method.java:498) 
      org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:180) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     root cause 

     com.mysql.cj.core.exceptions.CJCommunicationsException: 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. 
      sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
      sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
      sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
      java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
      com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:54) 
      com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:93) 
      com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:133) 
      com.mysql.cj.core.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:149) 
      com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:83) 
      com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:204) 
      com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:975) 
      com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843) 
      com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440) 
      com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) 
      com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221) 
      org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38) 
      org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:123) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:42) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:20) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161) 
      org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:109) 
      org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72) 
      org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) 
    org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) 
      org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) 
      org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) 
      org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) 
      org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) 
      com.aldondy.boonder.bl.DataSingleton.<init>(DataSingleton.java:48) 
      com.aldondy.boonder.bl.DataSingleton.instance(DataSingleton.java:74) 
      com.aldondy.boonder.web.controllers.LoginCtrl.loginInner(LoginCtrl.java:62) 
      com.aldondy.boonder.web.controllers.LoginCtrl.login(LoginCtrl.java:41) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      java.lang.reflect.Method.invoke(Method.java:498) 
      org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:180) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     root cause 

     java.net.SocketException: Permission denied (connect failed) 
      java.net.PlainSocketImpl.socketConnect(Native Method) 
      java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
      java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
      java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
      java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
      java.net.Socket.connect(Socket.java:589) 
      com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202) 
      com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57) 
      com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:204) 
      com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:975) 
      com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843) 
      com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440) 
      com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) 
      com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221) 
      org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38) 
      org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:123) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:42) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:20) 
      org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161) 
      org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:109) 
      org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72) 
      org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
      org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) 
      org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) 
      org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) 
      org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) 
      org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 

... 
    org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) 
      com.aldondy.boonder.bl.DataSingleton.<init>(DataSingleton.java:48) 
      com.aldondy.boonder.bl.DataSingleton.instance(DataSingleton.java:74) 
      com.aldondy.boonder.web.controllers.LoginCtrl.loginInner(LoginCtrl.java:62) 
      com.aldondy.boonder.web.controllers.LoginCtrl.login(LoginCtrl.java:41) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      java.lang.reflect.Method.invoke(Method.java:498) 
      org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) 
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
      com.aldondy.boonder.web.controllers.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:27) 
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     note The full stack trace of the root cause is available in the Apache Tomcat/7.0.76 logs. 
+0

또한 같은 문제가있는 centos 7.4.1708 및 tmocat 7.0.76 – jbu

답변

1

I ": 3306"첨부 된 연결 문자열

에 예외의 hibernate.cfg 파일 + 전체 서버 추적입니다 또한이 문제를 추적했습니다. 내 증상은 너와 정확히 같았고 나는 너가 시도한 정확한 것을 시도해 보았다. 요약하면 SELinux로 centos에서 tomcat을 사용했기 때문에 문제가 발생했습니다.

어떤 사람들은 내가 보안 이벤트를보고 다음 명령을 사용하여 진단하는 데 도움 왜 일부 작업은 permittted되지 않은 : 나는 같은 항목 보았다

sudo ausearch -m avc 
sudo grep "tcp_socket" /var/log/audit/audit.log | audit2why // translates log into some human readable reasons why the audit record was generated 

:

type=AVC msg=audit(1507861264.561:64750): avc: denied { name_connect } for pid=1326 comm="java" dest=3306 scontext=system_u:system_r:tomcat_t:s0 tcontext=system_u:object_r:mysqld_port_t:s0 tclass=tcp_socket

Was caused by: Missing type enforcement (TE) allow rule.

You can use audit2allow to generate a loadable module to allow this access.

를 그리고이 기사를 발견 톰캣과 SELinux에 대해서 https://noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74

다음 명령을 실행하여 tomcat_t 보안 컨텍스트에서 tomcat이 실행 중인지 확인할 수 있습니다 티.진정으로 내 오류가 SELinux를, 나는 장애인의 SELinux가

$ sestatus // shows: SELinux status:     enabled 
$ sudo vim /etc/selinux/config // set "SELINUX=disabled" 
$ sudo shutdown -r now 
$ sestatus // shows: SELinux status:     disabled 

내 컴퓨터를 다시 시작하고 바람둥이 이제 아웃 바운드 연결을 만들고 있었다보고했다 여부를 결정의 목적을 위해

$ps auxZ | grep tomcat 

.

위대한, 지금 나는 그것이 일어나고 있었던 이유를 최소한 알고있다. 물론 SELinux가 필요하다면이를 비활성화하는 것은 해결책이 아닙니다. 해결책이 아닌 또 다른 해결 방법은 yum을 거치지 않고 tomcat을 설치하는 것입니다. Yum은 보안 컨텍스트를 사용하여 tomcat을 설치합니다.

나는 지금 행동의 과정은 보안 컨텍스트 또는 나가는 연결을 할 수 있도록 바람둥이 통치 규칙을 수정하는 것입니다 생각합니다.

+0

감사합니다. 그게 나를 위해 완벽하게 작동했습니다. 이렇게 오랫동안 붙어서 그런 구제 ... 내가 제안한대로 SELinux가 비활성화되었고 이제는 SQL이 정상적으로 작동합니다. 이제는 SELinux 구성을 파고 들기 시작했는데 완전히 비활성화하지 않고 어떻게 연결을 얻을 수 있는지 알아 보겠습니다. 팁이 더 있거나 뭔가 관련이있는 경우 필요한 추가 단계를 공유하십시오. – Yoshi67

+0

당신이 나를 도울 수 내 대답을 올바른 것으로 표시 – jbu

+0

죄송합니다 - 방금 ... – Yoshi67