Connessione remota al database heroku clearDB


103

Come posso eseguire una connessione remota al database ClearDB MySQL su heroku utilizzando ad esempio MySQL Query Browser. Dove trovare URL, porta, login e password?

Risposte:


185

Nel sito web di heroku, vai su Le mie app e seleziona l'app su cui hai installato ClearDB.

Nell'angolo in alto fai clic su Addons e quindi seleziona ClearDB MySQL Database . Una volta lì, fai clic sul tuo database e scegli la scheda " Informazioni sull'endpoint ". Lì vedrai il tuo nome utente / password. L'URL del database può essere acquisito eseguendo heroku config --app <YOUR-APP-NAME>nella riga di comando.

Nel mio caso, era qualcosa del tipo: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE? Reconnect = true Ciò di cui hai bisogno è questa parte: us-cdbr-east.cleardb.com


17
Puoi anche vederlo direttamente sulla dashboard / sito web di Heroku, vai alla tua app, fai clic su "Impostazioni" e "Rivela variabili di configurazione".
Eirik H

1
Almeno nel mio caso, la parte equivalente a us-cdbr-east.cleardb.com non era il nome del database ma piuttosto il nome dell'host. Il nome del database è stato tuttavia trovato sulla dashboard per il componente aggiuntivo ClearDB.
Roseaboveit

3
dovrai esportare il file del tuo database locale nel database creato da Heroku. Segui questo video e sarai pronto per andare su youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan

86

Esegui heroku config per ottenere il CLEARDB_DATABASE_URLe dovrebbe essere qualcosa di questo formato:

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

Quindi in pratica basta guardare il proprio URL e ottenere tutto ciò che si desidera da lì. È così che ho configurato il workbench mysql.


3
Grazie @Andrei ma per quanto riguarda il port per il database?
BKSpurgeon

2
@BKSpurgeon. Ho funzionato con phpMyAdmin con la porta predefinita (vedi stackoverflow.com/a/22092539/4900327 )
Abhishek Divekar

Grazie mille signor Mi aiuta a distribuire con successo il mio file mysql su heroku
Travis Le

@AbhishekDivekar il tuo commento mi ha aiutato molto. Ho appena cambiato il nome utente e alcune cose su un file congig.inc.php nel mio xamp e ha funzionato su PHPMyAdmin.
Ahmed Adewale

24

Incolla questo comando nel terminale

  heroku config | grep CLEARDB_DATABASE_URL

Dopo questo otterrai l'URL del database. ad esempio, questo è l'URL del database cleardb.

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

Quindi queste saranno le credenziali del tuo database. (Estratto da sopra l'URL)

NOME UTENTE = b0600ea495asds

PASSWORD = 9cd2b111

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

NOME DATABASE = heroku_4a1dc3673c4114d


13

Ho fatto un video che spiega come connettersi a MySql usando NodeJS su un server Heroku, dai un'occhiata:

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

Questo è il codice nel caso tu voglia vedere:

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

Ecco parte del codice:

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);
});

Saluti! MAGIA: http://makegif.com/g9yv.gif


4
Non so perché questo sia così fortemente svalutato .. il tuo createConnection ha chiarito le cose per me. Grazie :)
Nico

3
Dovrebbe essere fornita anche la ragione per i voti negativi. Questa è la risposta che mi ha aiutato. Grazie, fratello!
Anoop.PA

8

Se stai usando il workbench mySQL, segui questo schema. Vai su Heroku> Impostazioni delle tue applicazioni> Config Vars e mostra l'URL lungo. Tale URL include il nome utente, la password, l'URL del database e lo schema predefinito. Incolla tutte le informazioni come segue e sarai in grado di connetterti con successo al database. Non c'era una vera spiegazione su come connettersi a ClearDB utilizzando il workbench mySQL su questo thread, quindi si spera che questo aiuti qualcuno che stava lottando.

inserisci qui la descrizione dell'immagine


Ho provato questa soluzione ma non funziona. Ma questa soluzione funziona bene in Sequal Pro.
nitin.agam

2

Incolla questo all'interno del terminale:

heroku config | grep CLEARDB_DATABASE_URL

1

Puoi usare questa riga per connetterti al tuo database MySQL nel tuo terminale.

$ (ruby -e 'require "uri"; uri = URI.parse (ARGV [0]); inserisce "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} -D # {uri.path.gsub ("/", "")} "'` heroku config: get CLEARDB_DATABASE_URL`)

1

Vai alla tua app su heroku e fai clic sulla scheda "Impostazioni". Quindi fare clic sul pulsante sulla seconda opzione che dice "rivela le variabili di configurazione".

Dovresti trovare, elencato sotto la variabile CLEARDB_DATABASE_URL, qualcosa del genere ...

mysql: // [nome utente]: [password] @ [host] / [nome database]? reconnect = true

Quindi la [porzione host] è il tuo host. La parte [nome database] è il nome del database, ovviamente.

Hai ancora bisogno del tuo nome utente e password. Torna alla scheda "panoramica" in heroku. Vai al componente aggiuntivo ClearDB nella sezione dei componenti aggiuntivi installati. Fare clic sul database a cui si desidera accedere (probabilmente solo 1 opzione lì). Fare clic sulla scheda "informazioni di sistema". Dovresti vedere il tuo nome utente e password.

dovrebbe essere tutto ciò di cui hai bisogno per accedere al tuo database. Uso sequel pro. Ho appena inserito le informazioni (nome, host, nella scheda "standard" ed ero pronto per iniziare.


0

Tutti i dettagli saranno nell'URL del database che può essere trovato in heroku config. Supponendo che tu possa connetterti direttamente a ClearDB (non ho mai provato), questi dovrebbero essere tutto ciò di cui hai bisogno ...


0

Tutto questo ha funzionato perfettamente per me. Utilizzando heroku config | grep, come descritto sopra e quindi semplicemente aggiungendo un'altra voce nel mio config.inc.php per l'utilizzo da parte di phpMyAdmin e posso accedere al mio database cleardb da remoto. Mi evita di dover avere SQL localmente e usare postgres con Heroku.



-1

Sì, puoi connetterti direttamente a ClearDB, in realtà utilizzo Workbench per connettermi. Quindi puoi usare lo stesso DB per il tuo localhost e per heroku.


4
Buono a sapersi, ma in che modo questo aiuta l'OP a trovare le informazioni di connessione?
Brad Koch

1
Hai ragione, ma ho appena aggiunto un'informazione, perché Neil Middleton ha detto "Supponendo che tu possa connetterti direttamente a ClearDB", quindi ho detto Sì, può farlo. Mi scuso per aver risposto a qualcosa che non ha aiutato la domanda principale.
Alisson Reinaldo Silva

Nessun problema. Cose come questa sono davvero un buon materiale per i commenti, ma sembra che tu abbia ancora bisogno di qualche rappresentante in più per quello.
Brad Koch

ho 0 problemi ad accedere al servizio heroku. ma dal servizio al db è dove sta il problema. boooo. gettig "dial tcp 127.0.0.1:3306: getsockopt: connection refused"
filthy_wizard
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.