首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring引导应用程序不能与本地网络上的mysql服务器连接

Spring引导应用程序不能与本地网络上的mysql服务器连接
EN

Stack Overflow用户
提问于 2021-02-03 11:52:36
回答 1查看 426关注 0票数 1

由于某些原因,我的应用程序无法连接到本地网络上的mysql服务器。问题是,我可以使用相同的凭据和相同的url从数据源浏览器(Intellij)连接到它。以前,当我在桌面上运行相同的代码时,一切都很正常。唯一改变我的是我给自己买了一台新的笔记本电脑。出于某种原因,当spring引导加载时,它会挂在Hikari连接上大约30秒,然后抛出连接超时异常。

我的网络设置:

使用mysql (192.168.1.5) (192.168.1.4)

  • old 在linux上运行代码服务器膝上型计算机(CentOS)的
    • Mint(铸币机)膝上型计算机

所有IP都是固定的

mysql creds:

(dnd_service)

  • db

  • db名称 pass (12345678)
  • user (dnd-service)
  • user pass (12345678)

我可以打开我的服务器:

代码语言:javascript
复制
PING 192.168.1.5 (192.168.1.5) 56(84) bytes of data.
64 bytes from 192.168.1.5: icmp_seq=1 ttl=64 time=5.32 ms
64 bytes from 192.168.1.5: icmp_seq=2 ttl=64 time=9.01 ms
64 bytes from 192.168.1.5: icmp_seq=3 ttl=64 time=8.31 ms
64 bytes from 192.168.1.5: icmp_seq=4 ttl=64 time=12.3 ms
64 bytes from 192.168.1.5: icmp_seq=5 ttl=64 time=97.3 ms

3306端口是开放和可访问的(我向telnet查询):

代码语言:javascript
复制
telnet 192.168.1.5 3306
Trying 192.168.1.5...
Connected to 192.168.1.5.
Escape character is '^]'.
J
v�vV[wJ!`caching_sha2_password

我可以用intellij连接到mysql:

我的application.properties:

代码语言:javascript
复制
server.port=8090
server.servlet.context-path=/

spring.jpa.database=mysql
spring.jpa.hibernate.ddl-auto=validate
spring.datasource.url=jdbc:mysql://192.168.1.5:3306/dnd_service?serverTimezone=UTC
spring.datasource.username=dnd-service
spring.datasource.password=12345678

spring.jackson.serialization.fail-on-empty-beans=false
spring.jackson.default-property-inclusion=NON_NULL

当我尝试运行我的应用程序时,我得到以下输出:

代码语言:javascript
复制
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.2.RELEASE)

2021-02-03 14:26:34,815 INFO  [main] org.springframework.boot.StartupInfoLogger: Starting Application.Companion on cvazer-laptop with PID 24924 (/home/cvazer/Programming/remote/dnd-service/build/classes/kotlin/main started by cvazer in /home/cvazer/Programming/remote/dnd-service)
2021-02-03 14:26:34,820 INFO  [main] org.springframework.boot.SpringApplication: No active profile set, falling back to default profiles: default
2021-02-03 14:26:35,960 INFO  [main] org.springframework.data.repository.config.RepositoryConfigurationDelegate: Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2021-02-03 14:26:36,243 INFO  [main] org.springframework.data.repository.config.RepositoryConfigurationDelegate: Finished Spring Data repository scanning in 269ms. Found 44 JPA repository interfaces.
2021-02-03 14:26:37,007 INFO  [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer: Tomcat initialized with port(s): 8080 (http)
2021-02-03 14:26:37,021 INFO  [main] org.apache.juli.logging.DirectJDKLog: Initializing ProtocolHandler ["http-nio-8080"]
2021-02-03 14:26:37,022 INFO  [main] org.apache.juli.logging.DirectJDKLog: Starting service [Tomcat]
2021-02-03 14:26:37,023 INFO  [main] org.apache.juli.logging.DirectJDKLog: Starting Servlet engine: [Apache Tomcat/9.0.37]
2021-02-03 14:26:37,115 INFO  [main] org.apache.juli.logging.DirectJDKLog: Initializing Spring embedded WebApplicationContext
2021-02-03 14:26:37,115 INFO  [main] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext: Root WebApplicationContext: initialization completed in 2022 ms
2021-02-03 14:26:37,374 INFO  [main] org.springframework.scheduling.concurrent.ExecutorConfigurationSupport: Initializing ExecutorService 'applicationTaskExecutor'
2021-02-03 14:26:37,442 INFO  [task-1] org.hibernate.jpa.internal.util.LogHelper: HHH000204: Processing PersistenceUnitInfo [name: default]
2021-02-03 14:26:37,515 INFO  [task-1] org.hibernate.Version: HHH000412: Hibernate ORM core version 5.4.18.Final
2021-02-03 14:26:37,742 INFO  [task-1] org.hibernate.annotations.common.reflection.java.JavaReflectionManager: HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2021-02-03 14:26:37,897 INFO  [task-1] com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Starting...
2021-02-03 14:27:09,048 ERROR [task-1] com.zaxxer.hikari.pool.HikariPool: HikariPool-1 - Exception during pool initialization.
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.
    at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
    at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255)
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.cj.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.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
    at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
    at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89)
    at com.mysql.cj.NativeSession.connect(NativeSession.java:144)
    at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:953)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823)
    ... 34 common frames omitted
Caused by: java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:607)
    at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
    at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)
    ... 37 common frames omitted
Disconnected from the target VM, address: '127.0.0.1:60251', transport: 'socket'

Process finished with exit code 1

最后一个例外是

代码语言:javascript
复制
Caused by: java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:607)
    at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
    at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)
    ... 36 common frames omitted

据我所知,每件事都应该正常工作,但出于某种原因,它没有,我也不知道为什么

以防万一我的构建脚本:

代码语言:javascript
复制
plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.3.72'
    id 'org.jetbrains.kotlin.plugin.spring' version '1.3.72'
    id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.72'
    id 'org.jetbrains.kotlin.plugin.allopen' version '1.3.72'
    id 'org.jetbrains.kotlin.kapt' version '1.3.72'
    id 'org.springframework.boot' version '2.3.2.RELEASE'
    id 'io.spring.dependency-management' version '1.0.8.RELEASE'
}

apply plugin: 'io.spring.dependency-management'

group 'com.gitlab.cvazer'
version '1.0.0'

repositories {
    mavenCentral()
}

allOpen {
    annotation('javax.persistence.Entity')
    annotation('javax.persistence.Embeddable')
    annotation('javax.persistence.MappedSuperclass')
}

dependencies {
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
    implementation 'org.jetbrains.kotlin:kotlin-reflect'
    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-configuration-processor'
    implementation 'org.springframework.boot:spring-boot-starter-amqp'
    implementation 'org.slf4j:slf4j-api:1.7.30'
    implementation 'ch.qos.logback:logback-classic:1.2.3'
    implementation 'ch.qos.logback:logback-core:1.2.3'
    implementation 'com.fasterxml.jackson.core:jackson-core:2.11.0'
    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.11.0'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.0'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'mysql:mysql-connector-java:8.0.23'
    implementation 'com.fasterxml.jackson.module:jackson-module-paranamer:2.2.3'
    implementation 'com.javaetmoi.core:javaetmoi-hibernate5-hydrate:5.2.2'
    implementation 'org.codehaus.groovy:groovy-jsr223:3.0.5'
    implementation 'org.codehaus.groovy:groovy-json:3.0.5'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}


test {
    useJUnitPlatform()
}

compileKotlin {
    kotlinOptions.jvmTarget = '1.8'
    kotlinOptions.freeCompilerArgs = ['-Xjsr305=strict']
}

kapt {
    correctErrorTypes = true
}
EN

回答 1

Stack Overflow用户

发布于 2021-02-03 12:02:54

你能用spring.datasource.url代替jdbc:mysql://localhost:3306/dnd_service?user=dnd-service&12345678&useUnicode=true&characterEncoding=UTF-8吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66026997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档