Odpowiedzi:
Na stronie heroku przejdź do Moje aplikacje i wybierz aplikację, na której zainstalowałeś ClearDB.
W górnym rogu kliknij Dodatki, a następnie wybierz Baza danych ClearDB MySQL . Następnie kliknij swoją bazę danych i wybierz zakładkę „ Informacje o punkcie końcowym ”. Tam zobaczysz swoją nazwę użytkownika / hasło. Adres URL do bazy danych można uzyskać, uruchamiając
heroku config --app <YOUR-APP-NAME>
w wierszu poleceń.
W moim przypadku było to coś takiego: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE
? Reconnect = true Potrzebujesz tej części: us-cdbr-east.cleardb.com
Uruchamiasz konfigurację heroku, aby uzyskać plik CLEARDB_DATABASE_URL
i powinien on mieć podobny format:
CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true
Więc po prostu patrzysz na swój własny adres URL i stamtąd dostajesz wszystko, czego chcesz. Tak skonfigurowałem Środowisko pracy MySQL.
Wklej to polecenie w terminalu
heroku config | grep CLEARDB_DATABASE_URL
Po tym otrzymasz adres URL bazy danych. np. to jest adres URL Twojej bazy danych cleardb.
'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west-
06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'
To będą poświadczenia Twojej bazy danych. (Wyodrębniono z powyższego adresu URL)
NAZWA UŻYTKOWNIKA = b0600ea495asds
HASŁO = 9cd2b111
HOST = us-cdbr-hirone-west- 06.cleardb.net
NAZWA BAZY DANYCH = heroku_4a1dc3673c4114d
Zrobiłem film wyjaśniający, jak połączyć się z MySql za pomocą NodeJS na serwerze Heroku, spójrz:
http://www.youtube.com/watch?v=2OGHdii_42s
Oto kod na wypadek, gdybyś chciał zobaczyć:
https://github.com/mescalito/MySql-NodeJS-Heroku
Oto część kodu:
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);
});
Twoje zdrowie! MAGIA: http://makegif.com/g9yv.gif
Jeśli używasz środowiska roboczego mySQL, postępuj zgodnie z tym schematem. Przejdź do Heroku> Ustawienia aplikacji> Config Vars i pokaż długi adres URL. Ten adres URL zawiera Twoją nazwę użytkownika, hasło, adres URL bazy danych i domyślny schemat. Wklej wszystkie informacje w następujący sposób poniżej, a będziesz mógł pomyślnie połączyć się z bazą danych. W tym wątku nie było prawdziwego wyjaśnienia, jak połączyć się z ClearDB za pomocą środowiska roboczego mySQL, więc mam nadzieję, że pomoże to komuś, kto miał problemy.
Wklej to wewnątrz terminala:
heroku config | grep CLEARDB_DATABASE_URL
Możesz użyć tej jednej linii, aby połączyć się z bazą danych MySQL w swoim terminalu.
$ (ruby -e 'require "uri"; uri = URI.parse (ARGV [0]); wstawia "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} -D # {uri.path.gsub ("/", "")} "'Konfiguracja heroku: pobierz CLEARDB_DATABASE_URL`)
Przejdź do swojej aplikacji na heroku i kliknij kartę „Ustawienia”. Następnie kliknij przycisk przy drugiej opcji, która mówi „pokaż zmienne konfiguracyjne”.
Na liście pod zmienną CLEARDB_DATABASE_URL powinieneś znaleźć coś takiego ...
mysql: // [nazwa użytkownika]: [hasło] @ [host] / [nazwa bazy danych]? reconnect = true
Więc [część hosta] jest twoim hostem. Część [nazwa bazy danych] to oczywiście nazwa Twojej bazy danych.
Nadal potrzebujesz nazwy użytkownika i hasła. Wróć do zakładki „przegląd” w heroku. Przejdź do dodatku ClearDB w sekcji zainstalowanych dodatków. Kliknij bazę danych, do której chcesz uzyskać dostęp (prawdopodobnie tylko 1 opcja). Kliknij kartę „Informacje o systemie”. Powinieneś zobaczyć swoją nazwę użytkownika i hasło.
to powinno wystarczyć, aby uzyskać dostęp do bazy danych. Używam sequela pro. Po prostu podłączyłem te informacje (imię i nazwisko, hosta, do zakładki „standardowe”) i gotowe.
Wszystkie szczegóły będą znajdować się w adresie URL bazy danych, który można znaleźć w heroku config
. Zakładając, że możesz połączyć się bezpośrednio z ClearDB (nigdy nie próbowałem), to powinno wystarczyć ...
Wszystko to działało idealnie dla mnie. Korzystanie z konfiguracji heroku | grep, jak opisano powyżej, a następnie po prostu dodając kolejny wpis do mojego config.inc.php do użytku przez phpMyAdmin i mogę uzyskać zdalny dostęp do mojej bazy danych cleardb. Oszczędza mi to konieczności posiadania lokalnego SQL i używania postgres z Heroku.
należy rozważyć uzyskanie poświadczeń vars w konfiguracjach heroku (Config Vars):
CLEARDB_DATABASE_URL
Tak, możesz połączyć się bezpośrednio z ClearDB, w rzeczywistości używam Workbench do połączenia. Następnie możesz użyć tej samej bazy danych dla swojego lokalnego hosta i dla heroku.