NodeJS连接MySQL出现Cannot enqueue Handshake after invoking quit.

2017-07-14 13:51:58

原因在于node连接上mysql后如果因网络原因丢失连接或者用户手工关闭连接后,原有的连接挂掉,需要重新连接;如下代码,每次访问结束都关闭,每次开始访问前重连接下,代码中没有监听连接的fatal错误,copy需谨慎

[javascript] view plain copy

  1. var mysql = require('mysql');  

  2.   

  3. var connection = mysql.createConnection({  

  4.     host     : 'localhost',  

  5.     user     : 'root',  

  6.     password : '123456',  

  7.     database : 'test'  

  8. })  

  9. ,slice = [].slice  

  10. ;  

  11.   

  12. var commonMethod = function(callback){  

  13.     connection = mysql.createConnection(connection.config);  

  14.     connection.connect();  

  15.     callback.call(connection,callback);  

  16.     connection.end();  

  17. };  

  18.   

  19. var onerror = function(){  

  20.     console.log(err);  

  21. };  

  22.   

  23. var query = function(){  

  24.     var args = arguments;  

  25.     commonMethod(function(){  

  26.         connection.query.apply(connection,args)  

  27.         .on('error',onerror);     

  28.     });  

  29. };  



  • 2018-10-11 23:58:07

    Linux实例带宽和CPU跑满或跑高排查

    使用云服务器 ECS 时,若出现服务的速度变慢,或 ECS 实例突然断开,可以考虑服务器带宽和 CPU 是否有跑满或跑高的问题。若您预先创建报警任务,当带宽和 CPU 跑满或跑高时,系统将自动进行报警提醒。Linux 系统下,您可以按如下步骤进行排查:

  • 2018-10-15 09:22:07

    使用epublib解析epub文件(章节内容、书籍菜单)

    前阵子在android上解析epub格式的书籍。发现了这个开源的epub解析库。相关资料甚少!折腾了一阵子,发现其实光使用的话还是挺简单的。真是萌萌哒~下面简单介绍一下epublib。