admin 管理员组文章数量: 1086866
JDBC :java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 数据库登录正常
项目场景:
JDBC连接mysql异常,数据库可正常登录!(这里是命令窗口执行结果,IDEA运行也是如此)
问题描述
今天遇到一个令人发指的问题,早上JDBC连接很正常,晚上突然连接不上了!但是数据库可以正常登录,可是用JDBC连接数据库MySQL的时候却显示:
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:这个异常就是指连接不到数据库
原因分析:
1、检查用户名user、密码password、统一资源定位符url是否正确,是否有空格之类的错误,或是是否正确
2、是否在配置文件中有格式错误
3、检查是否端口被占用【本人就是这个问题】,一般默认端口号为3306
String url = "jdbc:mysql://localhost:3306/users";//最后是数据库名String user = "root";String password = "******";
解决方案:
这里只提供关于端口被占用的解决方案!
通过一系列网络其他方法一一尝试,包括不断重启,查看环境变量或者导入,都无法解决问题。终于我们在服务中发现了问题,我的MySQL服务正常启动,但与此同时,下面还有一个mysqlzt也正在运行。
(1) windows +R
(2) 输入services.msc 或者 菜单栏直接搜索:服务
查看属性可以知道,这是我之前下载的xmpp文件中自带的mysql,其端口号也为3306,这就是我们无法连接数据库的罪魁祸首!
因此我们将这个服务停止!
(3)右键停止服务,重新尝试运行代码
最终数据库连接成功!就这一个小问题搞了我一晚上,真是快被气死了。
本文标签: JDBC javasqlSQLException Access denied for user rootlocalhost (using password YES) 数据库登录正常
版权声明:本文标题:JDBC :java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 数据库登录正常 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1688025940a170283.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论