idea中运行yml文件连接数据库出现如下错误:
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:438)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1682)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1803)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2928)
出错原因
using password: NO:表示输入没有输入密码就尝试登陆了
using password: YES:表示输入了密码,但密码错误
检查:mysql -u root -p
但是我们检查到数据库的用户名和密码都没错,连接数据库报错是哪的问题呢?
原因:在yml中数字以0,1开头的,自动被认为是其他进制,而yml只支持二进制,八进制和十六进制。
法一:在密码数字上加上双引号“”
法二:改密码,用SET PASSWORD命令
1|MySQL -u root
2|mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');