mysql root 访问被拒绝_mysql访问被拒问题

写之前,先心平气和地说一句:Mysql,NMSL

以下正文

有时,在用jdbc连接mysql的时候,会无缘无故出现下面的异常:

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

首先,修改mysql密码

嗯,就是修改密码,也不到为啥,虽然咱密码也没填错

进入数据库,使用mysql这个数据库(use mysql),输入命令

update user set password=PASSWORD("新密码") where user='root';

如果是mysql5.7,此时会报错:

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

因为mysql5.7已经没有password这个字段了,password字段改成了:authentication_string

所以mysql5.7修改密码的命令为:

update user set authentication_string=password('新密码') where user='root';

修改密码之后,要重启一下Mysql服务(services.msc)或者刷新一下,新密码才会生效

注:以上是Mysql5.7修改密码的方式,其他版本自行BD

增加jdbc配置

这个时候还没完,重启后会发生第二个错误:

:java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized...

此时,要修改jdbc的yml或properties配置文件:

spring:

datasource:

username: root

password: 123456

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://127.0.0.1:3306/myblog?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

就是在'url: jdbc:mysql://127.0.0.1:3306/myblog'的后面加上'?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC'

这个时候应该就mou问题了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值