前段时间在写一个版本发布工具,用到express+mysql实现,当站点运行很长一段空白时间后,node进程会自动down掉,提示mysql连接错误,谷歌后发现是mysql自身的特性导致,因此后来改为mysql pool连解决次问题!

mysql模块为felixge/node-mysql

源码如下:

/**
* Created by kevalin on 2015/4/22.
*/
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var conf = require('../config/dbconnection'); //定义pool池
var pool = mysql.createPool(
{
host : conf.dbMysql.host,
user : conf.dbMysql.user,
password : conf.dbMysql.password,
database : conf.dbMysql.database,
port : conf.dbMysql.port
}
); router.get('/', function(req, res) {
var selectSites = "select *, date_format(do_time, '%Y-%m-%d %H:%i:%s') as time from siteinfo order by id";
pool.getConnection(function(err, connection) {
if (err) throw err;
connection.query(selectSites, function(err, rows) {
if (err) throw err;
res.render('sites', {title : '站点分布', results : rows})
});
//回收pool
connection.release();
});
}); module.exports = router;

Nodejs mysql pool使用实例的更多相关文章

  1. nodejs mysql pool 只能插入10条记录或者较少记录

    BEGIN; 解决方案:从连接池获取到的Connection,执行完操作后,必须及时关闭! 即:connection.end(); 使用后发现console有打印出警告信息,大致意思为 end() 方 ...

  2. nodejs mysql 创建连接池

    用Nodejs连接MySQL 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javas ...

  3. Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)

    概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...

  4. mysql sql优化实例

    mysql sql优化实例 优化前: pt-query-degist分析结果: # Query 3: 0.00 QPS, 0.00x concurrency, ID 0xDC6E62FA021C85B ...

  5. nodejs+mysql

    接着上一篇的php+mysql,我们来试一试nodejs怎么实现数据的增删查改. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件 ...

  6. mysql触发器trigger 实例详解

    mysql触发器trigger 实例详解 (转自 https://www.cnblogs.com/phpper/p/7587031.html)   MySQL好像从5.0.2版本就开始支持触发器的功能 ...

  7. MySQL增量备份与恢复实例【转】

    小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的 ...

  8. nodejs+express+ejs+mongoose实例

    nodejs+express+ejs+mongoose实例 nodejs学得异常痛苦,在这里将学的东西做一番整理,算是自我安慰吧.根据网上todo示例,用express和mongoose重写了部分代码 ...

  9. (0.2.7)Mysql安装——多实例安装

    (0.2.6)Mysql安装——多实例安装 待完善

随机推荐

  1. 1.JasperReports学习笔记1-了解JasperReports

    转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html JasperReports是一个开源的java报表制作引擎,官网地址:h ...

  2. IOS网络同步请求

    //1.目标地址 NSString *url_string = @"http://b33.photo.store.qq.com/psu?/05ded9dc-1001-4be2-b975-13 ...

  3. C语言32关键字

    关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double 声明双精度变量或函数 ...

  4. ResultSetMetaData和ResultSet

    我现在有一张表t_product;我们查询所有的商品:SELECT * FROM t_product; 上述所有的数据都可以封装成一个对象,我们称这个查询出来的对象为结果集对象:ResultSet. ...

  5. Entity Framework:Code-First Tutorial开篇

    这个系列文章是关于Entity Framework Code-First的英文系列文章,内容不错,每篇一个主题知识点介绍,特转载过来 原文地址:http://www.entityframeworktu ...

  6. hdu1051

    #include<iostream> #include<algorithm> using namespace std; struct SIZE { int l; int w; ...

  7. VIM命令图---可定制版

    近期闲来无事,便自己用PS制作了一份VIM命令助记图,之前看到网上有类似的图片,可是有些解释感觉不太好,并有一些错误的地方,所以就自己做了一份,并且保留了PS源文件,为了方便会PS的网友可以对本图进行 ...

  8. H5 简介

    HTML5 - 新特性 HTML5 的一些最有趣的新特性: 新的语义元素,比如 <header>, <footer>, <article>, and <sec ...

  9. PAT 1071【STL string应用】

    1.单case很多清空没必要的 2.string+ char 最好用pushback 3.string +string就直接+ #include <bits/stdc++.h> using ...

  10. 20个问题(状压dp)

    20个问题(状压dp) 有n(<=128)个物体,m(<=11)个特征.每个物体用一个m位01串表示,表示每个特征是具备还是不具备.我在心里想一个物体,由你来猜.你每次可以询问一个特征,然 ...