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

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

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

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

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

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

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

解决 java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 连接失败的问题_第3张图片报错日志信息:

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

 解决方法

打开 mysql 数据库找到 user 表

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

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

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

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

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

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

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

解决 java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 连接失败的问题_第8张图片
[root@bogon app]# systemctl start mysqld          -- 停止服务

解决 java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 连接失败的问题_第9张图片
[root@bogon app]# systemctl start mysqld      -- 启动服务

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

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

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

1、给密码加上双引号

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

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服务器建立网络连接。检查网络连接是否正常,确保没有任何网络问题。

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

你可能感兴趣的:(java,mysql,springboot)