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

本文探讨了在配置MySQL数据源时常见的两个问题:一是配置文件中用户名后多余的空格导致的连接失败;二是未正确授权root用户,使得从任何IP都无法访问数据库。文章提供了详细的解决方案,包括如何修正配置文件及进行正确的权限授予。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题原因1:多写空格

在datasource.properties 中的username 的值root后面多写了一个空格,

jdbc.driver_class  com.mysql.jdbc.Driver
jdbc.url jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8&useSSL=true
jdbc.username root
jdbc.userpassword root

 

问题原因2:没有授权


 
GRANT ALL PRIVILEGES ON *.* TO root @'%' IDENTIFIED BY "mypassword";-- % 表示所有的IP都能访问,也可以修改为专属的
-- mypassword 为连接密码 需要修改为你自己的
FLUSH PRIVILEGES;

-- password 在高级版本中被字段  authentication_string 所替换;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值