Me he encontrado con este problema en el que la conexión mysql se agota cada 2 minutos más o menos. aquí está mi código.
require('dotenv').config(); const LocalStrategy = require('passport-local').Strategy; const mysql = require('mysql'); const bcrypt = require('bcrypt'); const db = require('../models/database'); handleDisconnect = () => { const connection = mysql.createConnection(db.connection); connection.connect(function (err) { if (err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); } }); connection.on('error', function (err) { console.log('db error', err); if (err.code === 'PROTOCOL_CONNECTION_LOST') { handleDisconnect(); } else { throw err; } }); return connection; } connection = handleDisconnect(); connection.query('USE ' + db.database); handleDisconnect(); //connection.end() } Si incluyo connection.end() lo rompe. Probé este handleDisconnect(); solución pero tampoco funciona.
Cualquier ayuda es apreciada.
require('dotenv').config(); const LocalStrategy = require('passport-local').Strategy; const mysql = require('mysql'); const bcrypt = require('bcrypt'); const db = require('../models/database'); // this method keeps the server connected to db mysql.createConnection({ host: "hostname", // localhost or remote hostname username: "your_username", password: "your_password", port: "port_number_used_for_db" });