安装驱动
npm install mysql
牛刀小试
var mysql = require('mysql');
var connection = mysql.createConnection(
{
host : '127.0.0.1',
user : 'root',
password: 'admin'
});
connection.connect();
connection.query('use imixuncms');
connection.query('select username from mx_user', function(err, rs, f) {
if (err) {
throw err;
}
console.log(rs);
});
connection.end();
err 是什么?
如果没报错,err是null;否则是一个错误的对象
rs 是什么?
如下图,为对象数组
f 是什么?
本次查询相关信息
关闭连接使用end() 方法;该方法确保在发生退出包给mysql服务器以前,所有剩余的查询被执行完毕。
注意:
MySQL中有一个名叫wait_timeout的变量,表示操作超时时间,当连接超过一定时间没有活动后,会自动关闭该连接,这个值默认为28800(即8小时)。
自动重连数据库的代码:
function handleError (err) {
if (err) {
// 如果是连接断开,自动重新连接
if (err.code === 'PROTOCOL_CONNECTION_LOST') {
connect();
} else {
console.error(err.stack || err);
}
}
}
// 连接数据库
function connect () {
db = mysql.createConnection(config);
db.connect(handleError);
db.on('error', handleError);
}
var db;
connect();
连接池也可以解决该问题