项目场景:
JDBC连接mysql异常,数据库可正常登录!(这里是命令窗口执行结果,IDEA运行也是如此)
问题描述
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at JDBCText01.main(JDBCText01.java:31)
ps:这个异常就是指连接不到数据库
原因分析:
String url = "jdbc:mysql://localhost:3306/users";//最后是数据库名
String user = "root";
String password = "******";
解决方案:
通过一系列网络其他方法一一尝试,包括不断重启,查看环境变量或者导入,都无法解决问题。终于我们在服务中发现了问题,我的MySQL服务正常启动,但与此同时,下面还有一个mysqlzt也正在运行。
查看属性可以知道,这是我之前下载的xmpp文件中自带的mysql,其端口号也为3306,这就是我们无法连接数据库的罪魁祸首!
因此我们将这个服务停止!
最终数据库连接成功!就这一个小问题搞了我一晚上,真是快被气死了。