bugzilla.redhat.com/show_bug.cgi?id=1491747

аюсь подключиться к MySql (= MariaDB) на локальном хосте (давайте назовем его A) из веб-приложения tomcat, используя Hibernate, но продолжаю получать ошибку канала связи (полная трассировка исключений прилагается ниже).

У меня есть другая копия БД на другом компьютере (назовем его B), а также использую третий компьютер для разработки (назовем его C).

1) У меня нет проблем с подключением из C к любой из DB (A & B). 2) На «А» у меня нет проблем с локальным подключением к БД (с помощью команды «mysql -u»). У меня также нет проблем с подключением через порт 3306 к порту A или B. Поэтому я предполагаю, что обе базы данных работают и доступны для подключения.

Единственная проблема заключается в том, что я пытаюсь подключиться к производственному коту (работающему на 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 машины). Ничего не помогает, а также имейте в виду, что соединение не устанавливается только из конкретной установки tomcat на A.

Я также попробовал следующее: 1) Добавил «-Djava.net.preferIPv4Stack = true» при запуске catalina 2) Попытался подключиться к недопустимым адресам / портам - это изменило (как и ожидалось) окончательную ошибку с «Отказано в разрешении» на «нет» маршрут к хозяину ". 3) В строку подключения добавлено следующее: «autoReconnect = true & useUnicode = true & createDatabaseIfNotExist = true & characterEncoding = utf-8» - это привело к той же ошибке («Попытка переподключиться 3 раза. Отказ.» + «Отказано в доступе (соединение не установлено)» 4) Перепробовал оба URL БД. для локальной БД пробовал с localhost, 127.0.0.1 и актуальным ip. пробовал как с, так и без ": 3306" в строке подключения

Прилагается файл hibernate.cfg + полная трассировка сервера исключения:

<?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У меня есть другая копия БД на другом компьютере (назовем его B), а также использую третий компьютер для разработки (назовем его C).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.
 jbu13 окт. 2017 г., 10:54
также имеет ту же проблему, на Centos 7.4.1708 и Tmocat 7.0.76

Ответы на вопрос(1)

Решение Вопроса

как и у вас, и я даже попробовал то же самое, что и вы. В итоге моя проблема возникла только потому, что я использовал tomcat на centos с SELinux.

Некоторые люди помогли мне диагностировать, используя следующие команды, чтобы посмотреть на события безопасности и почему некоторые действия не были разрешены:

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 = аудит (1507861264.561: 64750): avc: отказано {name_connect} для 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

Было вызвано: отсутствующим типом (TE) разрешения правила.

Вы можете использовать aud2allow, чтобы сгенерировать загружаемый модуль, чтобы разрешить этот доступ.

А потом нашел эту статью про tomcat и SELinuxhttps://noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74

Вы можете запустить следующую команду, чтобы увидеть, работает ли tomcat в контексте безопасности tomcat_t.

$ps auxZ | grep 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

перезапустил мою машину и увидел, что tomcat теперь устанавливает исходящее соединение.

Отлично, теперь я по крайней мере знаю, ПОЧЕМУ это происходило. Конечно, если вам нужен SELinux, его отключение НЕ является решением. Другой обходной путь, который, вероятно, не является решением проблемы, заключается в установке tomcat без прохождения через yum. Yum установит Tomcat, используя контекст безопасности.

Я думаю, что в настоящее время необходимо изменить контекст безопасности или набор правил, управляющих tomcat, чтобы он мог устанавливать исходящие соединения.

 jbu16 окт. 2017 г., 10:49
Вы могли бы помочь мне и пометить мой ответ как правильный
 Yoshi6716 окт. 2017 г., 09:24
Спасибо, Jbu! Это сработало идеально для меня. Такое облегчение после того, как я так долго застрял ... Я отключил SELinux, как вы предложили, и теперь SQL работает нормально. Теперь я начну копаться в конфигурации SELinux, чтобы увидеть, как я могу получить подключение, не отключая его полностью. Если у вас есть какие-либо дополнительные советы или вы нашли что-то связанное - расскажите, пожалуйста, о дополнительных шагах
 Yoshi6717 окт. 2017 г., 09:01
Ошибка теперь полностью устранена без необходимости отключать SELinux. Чтобы добавить tomcat в политику, используйте следующие 2 команды: `ausearch -c 'java' --raw | audit2allow -M мой-Java Java-модуль -i my-java.pp `@jbu
 Pitel22 янв. 2018 г., 15:54
 Yoshi6716 окт. 2017 г., 12:44
ой извините - я только что сделал ...

Ваш ответ на вопрос