安装依赖库
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