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

我使用Angular 4,
Spring启动和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 =< my remote IP>:8081替换了apiUrl = localhost: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
点赞