Tipp: Nachdem der Artikel geschrieben wurde, kann das Inhaltsverzeichnis automatisch generiert werden. Informationen zum Generieren finden Sie im Hilfedokument rechts
Artikelverzeichnis
1. Wie stellt NodeJS eine Verbindung zu MySQL her?
npm install mysql --save
Erstellen Sie den Verbindungscode db.js
//导入mysql连接包
const mysql = require('mysql');
let dbconfig ={
host: 'db_host',
user: 'db_user',
password: 'db_pass',
database: 'db_name',
debug: true
};
function handleDisconnection() {
db = mysql.createConnection(dbconfig);
db.connect(function (err) {
if (err) {
console.log('db connect error:' + err.message + "2秒后重连");
setTimeout(handleDisconnection, 2000);
}
});
db.on('error', function (err) {
console.log(err);
if (err.code === 'PROTOCOL_CONNECTION_LOST') {
console.log('db error执行重连:' + err.message);
handleDisconnection();
} else {
throw err;
}
});
db.querySync = function(sql) {
return new Promise(function(resolve, reject) {
db.query(sql, function(error, results, fields) {
if(error) reject(error);
else resolve({
results, fields})
})
})
};
return db;
}
//创建连接conn
exports.db = handleDisconnection();
2. Fehler: Die Abfrage kann nach einem schwerwiegenden Fehler nicht in die Warteschlange gestellt werden, wenn Nodejs eine Verbindung zu MySQL herstellt
1. Ursprüngliche Konfigurationsparameter
let dbconfig ={
host: 'db_host',
user: 'db_user',
password: 'db_pass',
database: 'db_name',
debug: true
};
Fügen Sie einfach den Parameter useConnectionPooling: true hinzu
2. Neue Konfigurationsparameter
let dbconfig ={
host: 'db_host',
user: 'db_user',
password: 'db_pass',
database: 'db_name',
useConnectionPooling: true,
debug: true
};