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 所替换;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值