当前位置:Gxlcms > 数据库问题 > 使用node连接mysql

使用node连接mysql

时间:2021-07-01 10:21:17 帮助过:1人阅读

安装依赖库

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

标签:

人气教程排行