解决 java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 连接失败的问题

当遇到用户名和密码正确但连接失败的情况,可能是由于服务器环境、用户权限、防火墙设置等问题导致。解决方案包括检查MySQL的user表权限,确认密码格式,验证用户权限,检查服务器防火墙配置以及服务器配置等。通过调整这些设置,可以成功解决连接问题。
摘要由CSDN通过智能技术生成

我碰到的问题是,用户名和密码都正确,但是连接失败

项目的中配置的连接信息:

 然后,本地连接正常,可以正常保存数据

但是,项目打包上传到Linux服务器后,启动项目,访问接口报错

报错日志信息:

 解决方法

打开 mysql 数据库找到 user 表

 打开后,我这里看到好多用户 

 然后,我只保留了 %,重启mysql服务,就能正常请求了  

【 注:我这是测试环境,生产环境需谨慎 】

[root@bogon app]# systemctl status mysqld       -- 查看mysql启动状态


[root@bogon app]# systemctl start mysqld          -- 停止服务


[root@bogon app]# systemctl start mysqld      -- 启动服务

 请求访问,可以看到测试数据能正常加载:

汇总碰到该问题别的可能解决问题的方法

1、给密码加上双引号

2、确保用户名和密码正确:检查您在连接字符串中使用的用户名和密码是否正确。确保没有输入错误或者密码没有更改。

3、检查MySQL用户权限:确保您的MySQL用户具有足够的权限来连接到数据库。可以使用以下命令检查用户权限:

我的异常提示信息是

java.sql.SQLException: Access denied for user 'root'@'bogon' (using password: YES)

检查权限:

SHOW GRANTS FOR 'root'@'bogon';

 如果权限不足,可以使用以下命令为用户授予适当的权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'bogon' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 请将root替换为您的用户名,bogon替换为您的主机名,password替换为您的密码。

4、检查MySQL服务器防火墙设置:如果您的MySQL服务器运行在受限制的网络环境中,可能需要检查服务器防火墙设置以确保允许从您的应用程序所在的主机访问MySQL服务器的端口(默认为3306)。

5、检查MySQL服务器配置:检查MySQL服务器的配置文件(通常是my.cnf或my.ini)以确保允许远程连接,并且没有其他限制。

6、检查网络连接:确保您的应用程序能够与MySQL服务器建立网络连接。检查网络连接是否正常,确保没有任何网络问题。

如果上述解决方法都无效,可能需要进一步调查和排除其他可能的问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值