Spring Boot连接MySQL报错:用户'Marco'访问被拒,配置未生效
问题排查与解决方案
核心原因:配置项拼写错误
看你提供的application.properties配置,发现用户名配置项拼写错误:
spring.datasourde.username=root
这里的datasourde少了一个字母c,正确的配置项名称应为datasource。因为配置项名称不匹配,Spring Boot无法读取到你指定的root用户名,会默认使用当前操作系统的用户名(你的Windows用户名Marco)尝试连接MySQL,这直接导致了Access denied for user 'Marco'@'localhost'的错误。
修正后的配置
将配置项修正为正确拼写即可:
spring.datasource.url=jdbc:mysql://localhost:3306/name_of_the_app spring.datasource.username=root spring.datasource.password=password
额外排查点(若修正后仍有问题)
- 验证MySQL中
root@localhost用户的有效性:通过MySQL命令行执行mysql -u root -p,输入配置的密码password,若能正常登录则说明用户与密码无问题。 - 检查代码中是否存在硬编码的数据源配置:比如在配置类手动设置了用户名,覆盖了
application.properties的配置。 - 排查环境变量干扰:确认是否存在
SPRING_DATASOURCE_USERNAME这类环境变量,其优先级高于配置文件,可能会覆盖你的配置项。
内容的提问来源于stack exchange,提问作者marcom966
相关产品推荐
相关产品推荐

