从 Spring Boot 应用程序连接到远程 MySql DB

问题描述 投票:0回答:1

我在 Spring 应用程序中遇到了一个奇怪的问题。该应用程序运行在 Tomcat 应用程序服务器上,并使用 spring 数据源连接到远程 MySql 数据库。出于测试目的,我们将应用程序设置为使用数据库上的管理员用户进行连接。该设置完美运行。但是,在转向生产之前,我们需要在数据库中设置一个非管理员用户,应用程序可以使用该用户进行连接。

我进入并使用命令在数据库中创建了一个新用户

创建由“password”标识的用户“myuser”@“%”;

然后我用命令设置权限:

将 mydb.* 上的 SELECT、INSERT、UPDATE、DELETE 权限授予 'myuser'@'%';

为了验证一切设置是否正确,我尝试以新用户身份登录 MySql,效果很好。问题在于应用程序。我尝试访问我们的一项服务,但出现以下异常:

java.sql.SQLException: Access denied for user 'myuser'@'1.1.123.123' (using password: YES)

为了排除可能的权限问题,我返回数据库并将所有从管理员用户授予的权限添加到新用户。我刷新了应用程序并得到了相同的结果。我觉得好像一定是我在某个地方缺少了一步。谁能告诉我我做错了什么?

仅供参考,应用程序的 application.properties 文件如下所示:

spring.datasource.url = jdbc:mysql://myhost.com:3306/mydb
spring.datasource.username = myuser
spring.datasource.password = password
java mysql spring spring-boot tomcat
1个回答
0
投票

经过一些实验,这似乎是一个缓存问题。应用程序现在正在使用发布的配置。

© www.soinside.com 2019 - 2024. All rights reserved.