Introducción al problema de conexión MySQL en Node.js
Uno de los dolores de cabeza más frecuentes al desarrollar aplicaciones web utilizando Node.js y MySQL es encontrarse con el temido error de conexión. Esto suele interrumpir el flujo de trabajo backend y detener por completo las pruebas locales o el despliegue en producción. Afortunadamente, tiene solución si revisamos los puntos críticos de configuración.
Causas principales del fallo
- Credenciales incorrectas (usuario, contraseña o nombre de la base de datos).
- El servidor MySQL no está en ejecución o el puerto (por defecto 3306) está bloqueado.
- Uso incorrecto de promesas o llamadas asíncronas en librerías como
mysql2. - Configuración faltante en el archivo
.env.
Método 1: Verificar el estado del servicio y credenciales
- Abre tu terminal y asegúrate de que MySQL esté activo ejecutando
sudo service mysql status(en Linux/Mac) o revisando los Servicios en Windows. - Verifica que el usuario y la contraseña en tu archivo de conexión coincidan exactamente con los creados en tu gestor de base de datos.
- Prueba conectándote mediante la consola con
mysql -u tu_usuario -ppara descartar problemas de autenticación.
Método 2: Configurar correctamente el cliente mysql2 con promesas
Muchos errores ocurren al usar callbacks obsoletos. Utiliza la versión con promesas para un manejo de errores más limpio:
const mysql = require('mysql2/promise');
async function conectarDB() {
try {
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'tu_password',
database: 'tu_base_datos'
});
console.log('¡Conexión exitosa a MySQL!');
} catch (error) {
console.error('Error al conectar:', error.message);
}
}
conectarDB();Conclusión
Identificar las causas raíz como credenciales erróneas o fallos en el servicio te permitirá resolver este problema en pocos minutos. Aplica estos métodos en tu proyecto Node.js y mantén tus bases de datos siempre conectadas.