开发需求时反复启动Tomcat,某次在idea中启动时突然报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection

去网上百度,很多都是说版本问题,我没有换connectors的版本,也没用拉别人提交的代码,突然就报错了。我尝试修改驱动的版本,也是不行,重新编译,清理缓存,删除target都是不行。
搞了两个小时还是不OK,于是我就想着把项目打成war包,放到Tomcat跑一下看行不行,结果真的不报错。
于是,我想我到底改了什么呢?
结果我还真改了点东西,前一天Tomcat控制台日志中文乱码,我改了如图这里,添加了VM选项,指定编码格式,结果我打开查看,发现utf-8写成了utt-8,改正后再启动就OK了。

其实找了半天错,原来是编码写错了,但是输出的错误信息却没提示编码的问题,只是报MySQLNonTransientConnectionException: Could not create connection to database server意思是不能创建到数据库服务的连接。
其实仔细看看错误信息会发现,最后报的是空指针,从这里出发也能快速定位问题

我们找到MysqlIO.java的1695行

本文记录了一次在启动Tomcat过程中遇到的MySQL连接异常问题,并详细分享了解决过程及经验教训,揭示了错误信息误导下的真实原因——字符编码配置错误。
最低0.47元/天 解锁文章
9909

被折叠的 条评论
为什么被折叠?



