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

时间:2017-08-07 14:34:36

标签: mysql spring angular spring-boot

我使用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=localhost:8081替换为apiUrl=<my remote IP>:8081,再次部署,我向所有人打开端口8081(Springboot的端口),现在它运行良好。

但说实话,我不喜欢这种方法,因为每个人都可以访问我的Springboot应用程序,而只需要Angular应用程序就可以访问它。如果有人有解决方案,这个问题仍然存在。感谢

2 个答案:

答案 0 :(得分:1)

我不确定您是否需要将数据源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

答案 1 :(得分:0)

由于密码不正确-mysql抱怨密码错误,显示与本地IP连接时出错,请两次检查密码