Access denied for user ‘xxx‘@‘localhost‘ 错误

Access denied for user ‘xxx’@‘localhost’ 是数据库被拒绝访问

如果是使用spring框架造成这个样的问题确保自己的配置文件没有写错的前提下,可能是你的jdbc.properties文件出现了问题

  • 因为在spring中如果使用username的命名,程序运行后获取的名字是windows的用户名会覆盖你的数据库的名字=,所以会造成数据库的连接错误,并且报出Access denied for user (你的windows用户名)'@'localhost的错误。
  • 解决方法:在username前加前缀 与username不重名即可 xxxx.username
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/

spring框架连接数据库的用户名是获取的windows的用户名 
不是连接数据库的用户名,如果重名会被覆盖掉,相当于username没有传入 
不能使用username而需要加前缀 xxx.username即可

jdbc.username=root 
password=root

如果是SpringBoot中的yml文件的话

  • 例如:以数字开头的
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/xxx?serverTimezone=UTC
    username: root
    #    不能以数字开头不然会报错,需要加双引号
    password: "1111"
  • 解决办法:要么不要以数字开头,要么给数字开头的密码加上双引号

你可能感兴趣的:(mysql,数据库,java,spring)