玖叶教程网

前端编程开发入门

apollo启动报错分析、解决(apollo_update.log)

背景

apollo版本:1.9.2

mysql版本: 5.7.32

jdk版本:openjdk version "1.8.0_322"

apollo的启动报错如下:

2022-04-16 14:14:28.583 WARN 15154 --- [main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadata

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

jdbc连接信息如下

apollo_config_db_url="jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"

apollo_config_db_username=root

apollo_config_db_password=123456

# apollo portal db info

apollo_portal_db_url="jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"

apollo_portal_db_username=root

apollo_portal_db_password=123456


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server

数据包已经成功发送,但是没有收到任何回包

仅仅从字面报错分析,初始反应就是如下:

1、是不是网络问题,数据包发送了没有收到确认包

2、是不是数据库驱动mysql-connector-java的问题

配置是127.0.0.1地址出现网络问题可能性不大,问题1排除

这个是从github上拉的程序包,jar包中的mysql-connector-java出问题可能性不大

以上两点被否定,继续往下分析日志

Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)



有了上序报错后查资料 https://blog.csdn.net/AmOneBird/article/details/123818956,有两种解决方案

1、可能是java版本过高和mysql-connector-java不兼容导致的

2、数据库连接的url后加上参数useSSL=false

验证方法一:

将当前jdk版本从1.8.0_322降低到1.8.0_221问题解决


验证方法二:

apollo_portal_db_url="jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false"

后面增加&useSSL=false同样问题解决


碰到问题要多分析、总结,不能只看表面,例如日志前面的日志

喜欢的朋友可以点赞、关注、留言。不定时分享一些问题排查思路

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言