导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:356
阅读量:1663657
访问量:207475
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
The last packet sent successfully to the server was 0 milliseconds ago.
Tags : mysql,0 milliseconds ago发表时间: 2015-11-06 00:22:12
今天在使用JDBC操作mysql时遇到下面的异常信息: 
引用
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
at com.tomymap.galaxy.virgo.util.DbService.getConnection(DbService.java:66) 
at com.tomymap.galaxy.virgo.util.DbService.getConnection(DbService.java:46) 
at com.tomymap.galaxy.virgo.dao.PNNDao.getConnection(PNNDao.java:51) 
at com.tomymap.galaxy.virgo.dao.DaoBase.executeUpdate(DaoBase.java:69) 
at com.tomymap.galaxy.virgo.dao.PNNDao.updatePNNRelation(PNNDao.java:161) 
at com.tomymap.galaxy.virgo.pnn.PyramidNeuralNetwork.buildPNNRelations(PyramidNeuralNetwork.java:400)
at com.tomymap.galaxy.virgo.pnn.PyramidNeuralNetwork.incrementalGenPNN(PyramidNeuralNetwork.java:144)
at com.tomymap.galaxy.virgo.pnn.PyramidNeuralNetwork.main(PyramidNeuralNetwork.java:410)

着实让人崩溃的信息,花费了一天的时间来解决。 
不罗嗦,直接描述解决办法。 
Java代码  收藏代码
  1. 配置:  
  2. ubuntu10.10  
  3. 5.1.49-1ubuntu8.1  
  4. mysql-connector-java-5.1.18.jar  


交互: 
300k records 
300k * 10 = 3M次访问mysql 
处理时间0.5h以内 

解决方法: 
(1)使用JDBC URL中使用autoReconnect属性,url添加
Java代码  收藏代码
  1. &autoReconnect=true&failOverReadOnly=false&maxReconnects=10  

(2) 修改MySQL的参数. /etc/my.cnf 添加 
Sql代码  收藏代码
  1. [mysqld]  
  2. wait_timeout=31536000  
  3. interactive_timeout=31536000  

(3)重启mysql 
Java代码  收藏代码
  1. service mysql restart  


原因分析: 
(1)大量数据访问情况下,mysql connection连接有可能失效 
(2)长时间不妨问,connection会失效 

更多参考: 
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#dynamic-system-variables 

http://www.blogjava.net/heweiya/archive/2006/01/18/28483.html 


转自http://binma85.iteye.com/blog/1318477


打赏
打赏
关注公众号
公众号
类别:DB| 阅读(5263)| 赞 (6)
上一篇 : 解决IE下使用javascript:void(0)方法会
下一篇: synchronized与static synchron
评论
暂无评论!
发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞

推荐文章