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等,但是都未果,所以下次犯这错吗,还是得从配置文件入手。