Conexión remota a la base de datos de clearDB heroku

103

¿Cómo puedo realizar una conexión remota a la base de datos ClearDB MySQL en heroku usando, por ejemplo, MySQL Query Browser? ¿Dónde obtener la URL, el puerto, el nombre de usuario y la contraseña?

romano
fuente

Respuestas:

185

En el sitio web de heroku, vaya a Mis aplicaciones y seleccione la aplicación en la que ha instalado ClearDB.

En la esquina superior, haga clic en Complementos y luego seleccione ClearDB MySQL Database . Una vez allí, haga clic en su base de datos y elija la pestaña ' Información de punto final '. Allí verá su nombre de usuario / contraseña. La URL de la base de datos se puede adquirir ejecutándola heroku config --app <YOUR-APP-NAME>en la línea de comandos.

En mi caso, fue algo como: mysql: // usuario: pass @ us-cdbr-east.cleardb.com / DATABASE? Reconnect = true Lo que necesitas es esta parte: us-cdbr-east.cleardb.com

Abbas
fuente
17
También puede ver esto directamente en el panel / sitio web de Heroku, simplemente vaya a su aplicación, haga clic en "Configuración" y "Revelar variables de configuración".
Eirik H
1
En mi caso, al menos, la parte equivalente de us-cdbr-east.cleardb.com no era el nombre de la base de datos, sino el nombre del host. Sin embargo, el nombre de la base de datos se encontró en el panel de control del complemento ClearDB.
Roseaboveit
3
deberá exportar su archivo de base de datos local a la base de datos creada por Heroku. Simplemente siga este video y estará listo para ir a youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan
86

Ejecuta heroku config para obtener el CLEARDB_DATABASE_URLy debería ser algo de este formato:

CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true

Básicamente, solo mire su propia URL y obtenga todo lo que desee de allí. Así es como configuré mysql workbench.

Andrei
fuente
3
Gracias @Andrei, pero ¿qué pasa con el puerto para la base de datos?
BKSpurgeon
2
@BKSpurgeon. Lo hice funcionar con phpMyAdmin con el puerto predeterminado (consulte stackoverflow.com/a/22092539/4900327 )
Abhishek Divekar
Muchas gracias Sr. Me ayuda a implementar mi archivo mysql en heroku con éxito
Travis Le
@AbhishekDivekar tu comentario me ayudó mucho. Acabo de cambiar el nombre de usuario y algunas cosas en un archivo congig.inc.php en mi xamp y funcionó en PHPMyAdmin.
Ahmed Adewale
24

Pega este comando en la terminal

  heroku config | grep CLEARDB_DATABASE_URL

Después de esto, obtendrá la URL de la base de datos. por ejemplo, esta es la URL de su base de datos cleardb.

'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west-
 06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'

Entonces estas serán las credenciales de su base de datos. (Extraído de la URL anterior)

NOMBRE DE USUARIO = b0600ea495asds

CONTRASEÑA = 9cd2b111

HOST = us-cdbr-hirone-west- 06.cleardb.net

NOMBRE DE LA BASE DE DATOS = heroku_4a1dc3673c4114d

Developine
fuente
13

Hice un video que explica cómo conectarse a MySql usando NodeJS en un servidor Heroku, eche un vistazo:

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

Este es el código por si quieres ver:

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

Aquí está parte del código:

var express = require("express");
var mysql      = require('mysql');
var app = express();
app.use(express.logger());

var connection = mysql.createConnection({
  host     : 'us-cdbr-east-04.cleardb.com',
  user     : 'b6d6c6e874',
  password : 'b3f7###',
  database : 'heroku_1daa39da0'
});

connection.connect();

app.get('/', function(request, response) {
  connection.query('SELECT * from t_users', function(err, rows, fields) {
      if (err) {
        console.log('error: ', err);
        throw err;
      }
      response.send(['Hello World!!!! HOLA MUNDO!!!!', rows]);
    });
});

var port = process.env.PORT || 5000;
app.listen(port, function() {
  console.log("Listening on " + port);
});

¡Salud! MAGIA: http://makegif.com/g9yv.gif

lito
fuente
4
No sé por qué esto está tan mal votado ... su createConnection me aclaró las cosas. Gracias :)
Nico
3
También debe proporcionarse el motivo de los votos en contra. Esta es la respuesta que me ayudó. ¡Gracias hermano!
Anoop.PA
8

Si está utilizando mySQL workbench, siga este esquema. Vaya a Heroku> Configuración de sus aplicaciones> Config Vars y muestre la URL larga. Esa URL incluye su nombre de usuario, contraseña, la URL de la base de datos y el esquema predeterminado. Pegue toda la información de la siguiente manera a continuación y podrá conectarse con éxito a la base de datos. No hubo una explicación real sobre cómo conectarse a ClearDB usando mySQL workbench en este hilo, así que espero que esto ayude a alguien que estaba luchando.

ingrese la descripción de la imagen aquí

Jordan Schuetz
fuente
Probé esta solución pero no funciona. Pero esta solución funciona bien en Sequal Pro.
nitin.agam
2

Pega este terminal interior:

heroku config | grep CLEARDB_DATABASE_URL
usuario3805474
fuente
1

Puede usar este resumen para conectarse a su base de datos MySQL en su terminal.

$ (ruby -e 'requiere "uri"; uri = URI.parse (ARGV [0]); pone "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} -D # {uri.path.gsub ("/", "")} "'` heroku config: get CLEARDB_DATABASE_URL`)
Sébastien Saunier
fuente
1

Vaya a su aplicación en heroku y haga clic en la pestaña 'configuración'. Luego haga clic en el botón de la segunda opción que dice 'revelar variables de configuración'.

Debería encontrar, en la lista de la variable CLEARDB_DATABASE_URL, algo como esto ...

mysql: // [nombre de usuario]: [contraseña] @ [host] / [nombre de la base de datos]? reconnect = true

Entonces, la [porción del anfitrión] es tu anfitrión. La parte [nombre de la base de datos] es su nombre de base de datos, por supuesto.

Aún necesita su nombre de usuario y contraseña. Vuelve a la pestaña "descripción general" en heroku. Vaya al complemento ClearDB en la sección de complementos instalados. Haga clic en la base de datos a la que desea acceder (probablemente solo una opción allí). Haga clic en la pestaña "información del sistema". Debería ver su nombre de usuario y contraseña.

eso debería ser todo lo que necesita para acceder a su base de datos. Yo uso secuela pro. Simplemente conecté esa información (nombre, host, en la pestaña 'estándar' y estaba listo.

usuario2364424
fuente
0

Todos los detalles estarán en la URL de la base de datos que se puede encontrar en heroku config. Suponiendo que pueda conectarse a ClearDB directamente (nunca lo he intentado), esto debería ser todo lo que necesita ...

Neil Middleton
fuente
0

Todo esto funcionó perfectamente para mí. Usando heroku config | grep, como se describió anteriormente y luego simplemente agregando otra entrada en mi config.inc.php para que phpMyAdmin la use y puedo acceder a mi base de datos cleardb de forma remota. Me ahorra tener que tener SQL localmente y usar postgres con Heroku.

GiantCoder
fuente
0

debería considerar obtener las credenciales de vars en configuraciones heroku (Config Vars):

CLEARDB_DATABASE_URL

Diego Santa Cruz Mendezú
fuente
-1

Sí, puede conectarse a ClearDB directamente; de ​​hecho, uso Workbench para conectarme. Entonces puede usar la misma base de datos para su localhost y para heroku.

Alisson Reinaldo Silva
fuente
4
Es bueno saberlo, pero ¿cómo ayuda eso al OP a encontrar su información de conexión?
Brad Koch
1
Tienes razón, pero acabo de agregar una información, porque Neil Middleton dijo "Suponiendo que puedas conectarte a ClearDB directamente", entonces dije que sí, él puede. Pido disculpas por responder algo que no ha ayudado a la pregunta principal.
Alisson Reinaldo Silva
Sin preocupaciones. Cosas como esta son un material de comentarios realmente bueno, pero parece que todavía necesitas algunos representantes más para eso.
Brad Koch
No tengo problemas para acceder al servicio de heroku. pero del servicio a la base de datos es donde radica el problema. boooo. gettig "dial tcp 127.0.0.1:3306: getsockopt: conexión rechazada"
filthy_wizard