解决报错 java.sql.SQLNonTransientConnectionException: Could not create connection to database server
启动Spring项目报错
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) Caused by: com.mysql.cj.exceptions.CJException: Public Key Retrieval is not allowed at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
这个问题伴随了我挺久,最开始没太在意,因为我只要是把 Navicat 启动起来以后,就没有这个问题了,后面我决定 ! 直面这个问题
本地环境
先描述一下我本地的环境 mysql 5.6 和 mysql 8.0.32 同时部署, 5.6是3306 端口 8.0.32 是3307端口
每天都是同时开机启动,当我手动停止 5.6 服务时,只保留8.0.32,再重新启动idea时 这个问题也就没有了。
但是这些只是缓兵之计罢了,不能真正的解决问题。
解决方式
1网上看了很多教程 先看pom文件 里指定的 mysql版本 对不对的
mysql
mysql-connector-java
8.0.32
runtime
比如改动一下 version 这里的版本号
修改完后 我发现好像并不好用
2 看别人的文章 说这个问题是 因为安装mysql的时候时区设置的不正确 ,mysql默认的是美国的时区,而我们要比他们迟8小时,采用+8:00格式。使用的数据库是MySQL,在你没有指定MySQL驱动版本的情况下它自动依赖的驱动是8.0.12很高的版本,这是由于数据库和系统时区差异所造成的
这样的解决方式
在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。
url: jdbc:mysql://127.0.0.1:3307/xxx?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&serverTimezone=GMT%2B8 username: root password: root
在url的最后,我加上了 gmt+8 可以直接复制,别的参数是什么意思,可以在网上搜。
这时启动发现是可以了
参数文章
http://t.csdnimg.cn/KeUWF
http://t.csdnimg.cn/KeUWF
结尾
有些错可能解决方法不止一种,要酌情考虑解决方式
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
