与jdk1.7与mysql_jdk7与mysql的连接问题

在使用JDK 1.7尝试连接MySQL时遇到CommunicationsException错误,经过排查IDE、Tomcat、JDBC驱动、代码以及MySQL配置均未解决问题。最终发现是 JDK 1.7 版本导致的,更换为JDK 6后成功连接。
摘要由CSDN通过智能技术生成

2ff34e647e2e3cdfd8dca593e17d9b0a.png

今天第一天上班,工作就是熟悉一下环境。

svn checkout下来代码以后,就准备跑。结果tomcat报jdbc连接不到数据库。1

2

3com.mysql.jdbc.exceptions.jdbc4.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.

然后网上各种wait_timeout啊,connect url写错,mysql启动参数多了–skip-networking等等,但试过都没用。

然后我就开始一下午的逐个排查。

整个结构:IDE问题

tomcat问题

mysql-java-connector-5.1.x.jar包问题

代码问题[ssh2框架]

mysql问题

解决:IDE用的MyEclipse,于是下个Eclipse for JavaEE,运行结果依旧。

tomcat版本7.0,不管这个,直接写个java类,在main方法里通过jdbc连接mysql,这样代码的问题也排除了。运行结果还是一样报错。

从官网下载最新的connector/J驱动,加载,还是有问题。

mysql用的32位5.5版本,但系统是64位的,虽然通过IDE运行代码报错,但第三方工具比如navicat for mysql可以连接到本地mysql,用命令行也可以。暂时不管,再下64位5.5版本mysql。运行代码还是报错。

这个就没辙了。环境基本都换新了。也不会出现wait_timeout参数这一类问题。

最后,求助同事。同事看了下,表示他那边运行相同代码没问题。 这时候,我突然想到jdk版本来了。于是问他机器jdk版本多少。他说是jdk6。

好吧。这时候,我只好最后试一试,下了jdk6u38,再重新编译。运行代码,顺利连上mysql,并获取数据。

好吧,原因我也不知道,可以这台电脑装的jdk7有问题。记在这里。

以前从没用过jdk7,新入职,这台电脑正好装的jdk7,居然就碰上这么匪夷所思的问题。 花费了一下午的时间。晕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值