Java连接MYSQL数据库异常

一个最基本的Java连接MySQL8.0.11数据库demo,无法正常连接数据库,报错如下:

 

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.edu.cqu.TestJDBC.main(TestJDBC.java:18)

 

 

通过网上检索,一般为如下两个解决方案:

1、没有远程连接MySQL服务器权限。(此例为本地连接,因此应该没有这一问题,但也尝试处理)处理方式如下(本实例为改表法,还有授权法执行一直有问题就没有再尝试应用):

1.1连接数据库执行use mysql

1.2执行select host,user from user where user='root';查询为:

host=localhost,user=root。

1.3执行update user set host='%' where user='root';

执行成功后,再次查询1.2语句,host变为‘%’。

2、密码(或密码编码)问题(可能也不是本次引起此问题的原因),

2.1修改密码方式如下:

 

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

2.2另一种修改密码方式(一样是尝试修改报错)

mysqladmin -u root -p password 新密码

3、禅道mysqlzt服务导致无法连接(严重怀疑,由此引起):

更改上边两操作后仍然连接报错,准备重启mysql服务查看是否是改完配置必须重启。重启时发现mysql80服务下,还有一个mysqlzt服务,顺手停了mysqlzt服务。

此时重新调试代码,问题解决。

将mysqlzt启动,再次调试代码,又出现了上述报错。因此怀疑为禅道的mysqlzt服务引起了该问题。

具体为何会出现此种状况,及如何处理可以两个服务并存使用,待处理。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值