使用springboot产生的Access denied for user ‘‘@‘localhost‘ (using password: NO)

博主在使用SpringBoot创建DEMO时遇到了配置问题,起初在`application.yml`中按照IDE提示的方式写了配置,但启动服务器后,访问网址时程序报错。经过一番搜索和尝试,发现是配置文件中的数据源设置不正确。修正为传统方式,即明确指定`driverClassName`、`username`和`password`后,问题得到解决,服务器成功启动。

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

今天用springboot写个demo,踩了个坑。

当时,我的配置文件中是这么写的,这是idea提示的写法。
application.yml
注意:前面是有spring-datasource的,这是写在了application.yml当中

启动服务器,然后输入网址。。。

结果,程序中一直报错,如下(改了很久,还报了其它的错误)
在这里插入图片描述
各种谷歌、百度,最后被我找到了,嘿嘿

修改了一下我的配置文件中的写法,如下

driverClassName: com.mysql.cj.jdbc.Driver
username: root
password: 123456

再次启动服务器。。。 呜呜呜~~~,终于好了

### 解决方案 当遇到 `Access denied for user 'gjx'@'localhost'` 的问题时,通常是因为用户名、密码匹配或者权限足引起的。以下是具体的解决方案: #### 方法一:验证用户名和密码 确认当前使用的用户名 `'gjx'` 和对应的密码是否正确。如果确定密码,可以通过重置密码的方式解决问题。 ```sql use mysql; alter user 'gjx'@'localhost' identified by '新密码'; flush privileges; ``` 上述命令用于更改指定用户的密码并刷新权限表[^1]。 #### 方法二:跳过授权表登录 MySQL 并重置密码 如果无法通过正常方式登录到 MySQL 数据库,则可以尝试以下步骤来绕过认证机制以重新设置密码。 1. 停止 MySQL 服务: ```bash sudo systemctl stop mysqld ``` 2. 编辑 MySQL 配置文件(通常是 `/etc/my.cnf` 或者安装路径下的 `my.ini`),添加以下内容: ``` skip-grant-tables ``` 3. 启动 MySQL 服务: ```bash sudo systemctl start mysqld ``` 4. 登录 MySQL 而无需提供密码: ```bash mysql -u gjx -p ``` 5. 更改用户密码: ```sql use mysql; update user set authentication_string=PASSWORD('新密码') where user='gjx'; flush privileges; exit; ``` 6. 删除配置中的 `skip-grant-tables` 行,并重启 MySQL 服务: ```bash sudo systemctl restart mysqld ``` 此过程允许管理员在未记住原始密码的情况下恢复访问权[^3]。 #### 方法三:检查主机连接限制 有时错误可能源于客户端 IP 地址未被授予访问许可。可通过下面语句查看是否有针对特定 host 的约束条件存在: ```sql select Host, User from mysql.user where User = 'gjx'; ``` 假如结果显示只有某些固定的 hosts 可用而本地地址在其中的话,就需要扩展其范围至 `%`(代表任意位置),即执行如下操作: ```sql grant all on *.* to 'gjx'@'%' with grant option; flush privileges; ``` 以上措施能够有效应对大多数因账户凭证丢失所引发的拒绝接入状况[^2]。 ### 注意事项 - 执行任何涉及敏感数据的操作前,请务必做好备份工作以防万一发生意外情况。 - 如果仍然存在问题,建议核查防火墙设定以及端口监听状态等因素是否存在干扰因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值