SpringBoot程序连接阿里服务器mysql 出现Access denied for user 'root'@'自己电脑的公网ip' (using password: YES)

1、事件起因

  • 我用的是阿里服务器,在里面安装了MySQL,在用SpringBoot连接的时候,出现标题所示错误。Access denied for user ‘root’@‘自己电脑的公网ip’ (using password: YES)

2、第一想法

  • 数据库远程权限未开放,所以进行修改
  • 进入MySQL
 mysql -u root -p
  • 输入密码后登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的数据库密码'  
  • 刷新权限
flush privileges; 
  • 这些做完之后未果,还是没有解决,所以问题并不是出现在这。

3、查看配置文件

  • 在这里发现低级错误
spring:
  main:
    allow-bean-definition-overriding: true
  datasource:
    url: jdbc:mysql://ip:3306/database
    driver-class-name: com.mysql.jdbc.Driver
    name: root
    password: 123456
  • 在上面配置文件中,name属性是错误的,name是datasource的名字,由于之前没发现,所以一直排查。
  • 修改,改为username,username才是登录数据库的属性
spring:
  main:
    allow-bean-definition-overriding: true
  datasource:
    url: jdbc:mysql://ip:3306/database
    driver-class-name: com.mysql.jdbc.Driver
    password: 123456
    username: root
  • 在此事前我还修改过DNS等,但是都未果,所以下次犯这错吗,还是得从配置文件入手。

猜你喜欢

转载自blog.csdn.net/JISOOLUO/article/details/104561253