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问题了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM