码迷,mamicode.com
首页 > 数据库 > 详细

使用node连接mysql

时间:2015-08-07 16:42:53      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

安装依赖库

npm install mysql

创建数据库连接

 var mysql = require(‘mysql‘);
 //定义连接参数
 var mysqlConn = {
 	host:‘127.0.0.1‘,
 	user:‘user‘,
 	password:‘password‘,
 	database:‘nodejs‘,
 	port:‘3306‘
 };
 //创建连接
 var conn = mysql.createConnection(mysqlConn);
 conn.connect();
 //执行sql
 conn.query(‘select 1+1 as solution ‘,function(err,rows,fields){
 	if (err) {throw err;}
 	console.log(‘select result is ‘+ rows[0].so);
 })
 //关闭连接?
conn.end();

使用数据库连接池

 var mysql = require(‘mysql‘);
 var mysqlConn = {
 	host:‘127.0.0.1‘,
 	user:‘root‘,
 	password:‘jt123456‘,
 	database:‘nodejs‘,
 	port:‘3306‘
 };
 
var pool = mysql.createPool(mysqlConn);
// 从连接池获取connection
pool.getConnection(function(err,conn){
	if (err) {
		console.log(‘err when getConnection from pool:‘+err);
	}
	conn.query(‘select 1+1 as solution‘,function(err,rows){
		if (err) {
			consloe.log(‘err when query sql :‘+err);
		}
		console.log(‘solution is ‘+rows[0].solution);
		// 释放当前connection
		conn.release();
	});

});

处理连接时的异常

var mysql = require(‘mysql‘);
 var mysqlConn = {
 	host:‘127.0.0.1‘,
 	user:‘root‘,
 	password:‘jt123456‘,
 	database:‘nodejs‘,
 	port:‘3306‘
 };
// 重连
function handleError(){
	var conn =  mysql.createConnection(mysqlConn);
	//连接时发生异常就打印错误并在2秒后重连
	conn.connect(function(err){
		if (err) {
			console.log(‘err when connect with mysql server:‘+err);
		};
		setTimeout(handleError,2000);
	});
	//监听连接中的异常
	conn.on(‘error‘,function(err){
		console.log(‘err:‘+err);
		//断开连接时自动重连
		if (err.code ===‘PROTOCOL_CONNECTION_LOST‘) {
			handleError();
		}else{
			throw err;
		}
	});
}
handleEror();

参考资料:用Nodejs连接MySQL

使用node连接mysql

标签:

原文地址:http://my.oschina.net/u/2310482/blog/489123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!