2012-03-22 16 views

risposta

143

Nel sito Web di heroku, andare su Le mie app e selezionare l'app in cui è stato installato ClearDB.

Nell'angolo in alto a cliccare su Addons e quindi selezionare ClearDB Database MySQL. Una volta lì, fai clic sul tuo database e seleziona la scheda "Informazioni sull'endpoint". Lì vedi 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, è stato qualcosa di simile a: mysql: // user: pass @us-cdbr-east.cleardb.com/DATABASE ricollegare = true Quello che vi serve è questa parte:? us-CDBR -east.cleardb.com

+5

Puoi anche vederlo direttamente nella dashboard/sito Web di Heroku, vai alla tua app, fai clic su "Impostazioni" e "Mostra le vele di configurazione". –

+0

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 sul dashboard per l'addon ClearDB. – Roseaboveit

+0

dovrai esportare il tuo file di database locale nel database creato da Heroku. Segui questo video e sarai pronto per andare su https://www.youtube.com/watch?v=mBCH9OTVaGw&t=6s –

0

Tutti i dettagli saranno nell'URL del database che può essere trovato in heroku config. Supponendo che possiate connettervi direttamente a ClearDB (non ho mai provato), questi dovrebbero essere tutto ciò che serve ...

67

si esegue Heroku config per ottenere il CLEARDB_DATABASE_URL e dovrebbe essere qualcosa di questo formato:

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

Quindi, in pratica basta guardare al proprio URL e ottenere tutto quello che volete da Là. Ecco come ho impostato mysql workbench.

+3

Grazie @Andrei, ma per quanto riguarda la porta per il database? – BKSpurgeon

+1

@BKSpurgeon. Ho avuto modo di lavorare con phpMyAdmin con la porta predefinita (Vedi http://stackoverflow.com/a/22092539/4900327) –

+0

Questo è molto più semplice :) –

-1

Sì, è possibile connettersi direttamente a ClearDB, in realtà utilizzo Workbench per la connessione. Quindi puoi usare lo stesso DB per il tuo localhost e per heroku.

+4

Questo è bello sapere, ma in che modo questo aiuta l'OP a trovare la loro connessione informazione? –

+1

Hai ragione, ma ho appena aggiunto un'informazione, perché Neil Middleton ha detto "Supponendo di poterti collegare direttamente a ClearDB", quindi ho appena detto Sì, può farlo. Mi scuso per aver risposto a qualcosa che non ha aiutato la domanda principale. –

+0

Nessun problema. Cose come questa sono davvero buone per i commenti, ma sembra che tu abbia bisogno di qualche altro rappresentante per quello. –

8

ho fatto un video che spiega come connettersi a MySQL utilizzando NodeJS su un server di Heroku, date un'occhiata:

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

Questo è il codice nel caso in cui si desidera visualizzare:

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

Suoni! MAGIC: http://makegif.com/g9yv.gif

+4

Non so perché questo è così pesantemente downvoted .. il tuo createConnection ha chiarito le cose per me. Grazie :) – Nico

+3

Anche la motivazione per i voti negativi dovrebbe essere fornita. Questa è la risposta che mi ha aiutato. Grazie, fratello! –

1

Incolla questo terminale all'interno:

heroku config | grep CLEARDB_DATABASE_URL 
0

È possibile utilizzare questo uno-liner per la connessione al database MySQL nel vostro terminale.

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

incolla questo comando nel terminale

heroku config | grep CLEARDB_DATABASE_URL 

Dopo questo si otterrà URL del database. per esempio questo è il tuo URL del database cleardb.

'mysql://b0600ea495asds:[email protected] 
06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true' 

Di questo saranno le credenziali del database. (Estratto da Above URL)

nome utente = b0600ea495asds

PASSWORD = 9cd2b111

HOST = us-CDBR-HIRONE-West- 06.cleardb.net

Nome database = heroku_4a1dc3673c4114d