Conexión a Mysql desde NodeJS en el servidor Heroku

¿Alguna idea de cómo puedo conectarme desde NodeJs a Mysql ClearDB en Heroku?

Pude conectarme al sistema ClearDB Mysql en Heroku desde Navicat, incluso creé una tabla llamada t_users. Pero estoy teniendo problemas para conectarme desde NodeJs desde Heroku.

Este es mi código, es muy simple: todo funciona hasta que intenta conectarse a MySQL

web.js:

var express = require("express"); var app = express(); app.use(express.logger()); var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'us-cdbr-east-04.cleardb.com', user : '', password : '', database : '' }); connection.connect(); app.get('/', function(request, response) { response.send('Hello World!!!! HOLA MUNDOOOOO!!!'); connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { if (err) throw err; response.send('The solution is: ', rows[0].solution); }); }); var port = process.env.PORT || 5000; app.listen(port, function() { console.log("Listening on " + port); }); 

Esto es lo que obtuve cuando ejecuto en la línea de comandos: Heroku config

 C:\wamp\www\Nodejs_MySql_Heroku>heroku config === frozen-wave-8356 Config Vars CLEARDB_DATABASE_URL: mysql://b32fa719432e40:[email protected]/heroku_28437b49d76cc53?reconnect=true PATH: bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin 

Este es el LOG: http://d.pr/i/cExL

¿Alguna idea de cómo puedo conectarme desde NodeJs a Mysql ClearDB en Heroku? Gracias

Prueba esto. Espero que esto te ayudará

 mysql://b32fa719432e40:[email protected]/heroku_28437b49d76cc53?reconnect=true var connection = mysql.createConnection({ host : 'us-cdbr-east-04.cleardb.com', user : 'b32fa719432e40', password : '87de815a', database : 'heroku_28437b49d76cc53' }); 

Use estos detalles y conéctelos en el banco de trabajo mySQL, e importe su db localhost

El código base estaba bien, me perdí algo de código NodeJS.

Hice un video que explica cómo conectarme a MySqlusing NodeJS en un servidor Heroku, eche un vistazo:

http://www.youtube.com/watch?v=2OGHdii_42s

Este es el código en caso de que quiera ver:

https://github.com/mescalito/MySql-NodeJS-Heroku

Se debe usar una conexión de grupo para la conexión de base de datos para manejar una mejor solicitud de conexión mysql de la siguiente manera

 var pool = mysql.createPool({ connectionLimit : 100, host : 'us-cdbr-iron-east-05.cleardb.net', user : 'b5837b0f1d3d06', password : '9d9ae3d5', database : 'heroku_db89e2842543609', debug : 'false' }); 

Es solo porque Pool mantiene el connection.release () por sí solo, por lo que no tiene que preocuparse por lo que necesita para liberar la conexión.

Por otro lado, debe proporcionar el nombre de usuario, contraseña y base de datos como lo mencioné en mi código. Cuando te aprovisionas de heroku, obtienes un nombre de base de datos cleardb. Al hacer clic en el botón de borrar base de datos db encontrará nombre de usuario y contraseña. y para obtener la url de la base de datos, debe ejecutar los siguientes comandos en el terminal de la siguiente manera; heroku login heroku app -all (muestra el nombre de la lista de aplicaciones) heroku config –app appname (proporcionará la url de la base de datos).

Descansa, deberías preocuparte, solo agrega toda la dependencia en tu package.json antes de presionar al maestro heroku. Después de eso, no tendrá ningún problema en la implementación de la aplicación nodejs en el servidor heroku.

Mirando las marcas de tiempo de registro, parece que sus conexiones se están agotando. Cree un contenedor para ‘getConnection’ que verifique el estado de la conexión y se restablezca si es necesario, o intente usar la función de conjunto de conexiones mysql, que puede hacerlo por usted.