Spring Cloud 使用 Mysql8.0 踩坑解决
问题一:mysql升级到8.0后,原有访问 URL 和 Driver 需要重新改写,不同于mysql5.X。
问题二:Sqlyog? : MySQL连接sqlyog报错2058解决方案
问题一解决方案:
其中:
1、驱动写法改成:com.mysql.cj.jdbc.Driver #MYSQL8 驱动
(MYSQL 5驱动是:com.mysql.jdbc.Driver )
????2、URL写法:jdbc:mysql://localhost:3306/数据库名称?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false
(serverTimezone 参数要注意)
# 上海时间
serverTimezone=Asia/Shanghai
# 北京时间东八区
serverTimezone=GMT%2B8
?
3、yml文件样例参考:
server: port: 8001 spring: application: name: cloud-payment-service datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver #MYSQL8 驱动 url: jdbc:mysql://localhost:3306/db2023?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false username: root password: 123456 mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.elerning.springcloud.entities
问题二解决方案:
1、出现原因:加密规则发生了改变,在8.0之前用的是mysql_native_password,8.0以后用的是caching_sha2_password。
?
2、解决办法:
?
可以更改加密规则。
?
1、首先在CMD登录MySQL中。
?
mysql -u root -p
2、然后切换到数据库MySQL中。
?
use ?mysql;
??
3、然后更改加密规则并设置密码:
?
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
?
4、最后进行刷新就可以了。
?flush ?privileges;
希望给遇到上述问题的伙伴有所帮助!
(结束)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!