: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'127.0.0.1' (using password

今天访问了自己的网站,点进去就报错了。Cannot create PoolableConnectionFactory (Access denied for user ‘root’@’127.0.0.1’ (using password: YES))
然后再刷新,又可以访问我的网站了。
网上百度一下,说是jdbc配置的name后面有空格。这种也可能。但是我的不是这种情况。
因为我的jdbc配置是

jdbc.Url=jdbc\:mysql\://localhost\:3306/schoolpi

所以,mysql中的user库里的host应该是localhost。但是我的库里是这样的:
这里写图片描述
存在一个127.0.0.1的host。这个是linux上的数据。
我认为第一次报错,应该是访问到了这个库,第二次刷新的时候才访问到了localhost的那个库。所以才导致这种现象出现。
下面是我本机的:
这里写图片描述
我发下你本机有一个host为%的。
于是我把linux的那个127.0.0.1的host改为%。
mysql> update mysql set host = ‘localhost’ where host = ‘127.0.0.1’;
mysql> select host,user from user;
这里写图片描述

于是我的网站就可以。 但是注意:修改了上面的操作过后。原本有密码的mysql,变成了没有密码,重新登陆mysql的时候,竟然不用输入密码。

这个错误提示表明在连接MySQL数据库时,使用的用户名和密码不正确,或者该用户没有访问该数据库的权限。解决方法如下: 1. 确认用户名和密码是否正确,可以尝试使用MySQL命令行工具连接数据库,例如: ``` mysql -u root -p ``` 然后输入密码,如果能够成功登录,则说明用户名和密码正确。 2. 确认该用户是否有访问该数据库的权限,可以使用以下命令查看: ``` show grants for 'root'@'localhost'; ``` 如果没有访问权限,则需要为该用户授权: ``` grant all privileges on database_name.* to 'root'@'localhost' identified by 'password'; ``` 其中,database_name是数据库名称,password是该用户的密码。 3. 如果以上两个方法都无法解决问题,则可以尝试修改MySQL的配置文件my.cnf,将以下两行注释掉: ``` #skip-grant-tables #bind-address = 127.0.0.1 ``` 然后重启MySQL服务即可。 以下是一个修改用户密码的例子: ```java import java.sql.*; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; try { Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "update user set password=PASSWORD('new_password') where User='root'"; int rows = stmt.executeUpdate(sql); System.out.println(rows + " rows updated."); conn.close(); } catch (SQLException e) { System.out.println("Error: " + e.getMessage()); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值