使用node連接mysql
安裝依賴庫
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
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!