gpt4 book ai didi

mysql - 远程 Spring 启动应用程序仍然连接到我本地的 mysql

转载 作者:可可西里 更新时间:2023-11-01 07:38:35 25 4
gpt4 key购买 nike

我使用 Angular 4、Spring boot 和 Mysql。在本地,一切正常。我尝试部署在 Centos 7 远程服务器上。一切正常,除了当我访问我的网站时,它从我的本地数据库获取数据,而不是从位于远程服务器上的 mysql 数据库获取数据。

我在另一台电脑上试过,结果是一样的,都是从本地电脑取数据!

这是我的 Spring boot 的 application.properties 文件:

server.port = 8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useSSL=false
spring.datasource.username=username
spring.datasource.password=password

netstat -tln在远程服务器上(只有有用的字段):

Proto Recv-Q Send-Q local address           remote address          State       
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp6 0 0 :::8081 :::* LISTEN

Mysql 数据库具有完全相同的结构和相同的用户名/密码。

-- 更新--

感谢您的建议,我终于解决了这个问题。它来自 Angular 和 Spring 之间的连接,而不是来自 Spring 和 Mysql。

一个 Springboot 实例在我的本地计算机上运行,​​并且远程 Angular 已连接到它。在 Angular 的配置文件中,我替换了 apiUrl=localhost:8081通过 apiUrl=<my remote IP>:8081 ,再次部署,我给大家开放了8081端口(Springboot的端口),现在可以正常使用了。

但老实说,我不喜欢这种方法,因为我的 Springboot 应用程序可供所有人访问,而它需要仅供 Angular 应用程序访问。如果有人有解决方案,这个问题仍然悬而未决。谢谢

最佳答案

不确定我认为您需要将数据源 URL 指向远程位置。示例:

database.url=jdbc:mysql://192.168.0.166:3306/yourSchema?characterEncoding\=UTF-8
database.username=username
database.password=password
database.driverClassName=com.mysql.jdbc.Driver

关于mysql - 远程 Spring 启动应用程序仍然连接到我本地的 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45549493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com