Zdalne połączenie z bazą danych clearDB heroku

103

Jak mogę wykonać zdalne połączenie z bazą danych ClearDB MySQL na heroku przy użyciu np. Przeglądarki zapytań MySQL. Skąd wziąć adres URL, port, login i hasło?

rzymski
źródło

Odpowiedzi:

185

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

Abbas
źródło
17
Możesz to również zobaczyć bezpośrednio na pulpicie nawigacyjnym / witrynie Heroku, po prostu przejdź do aplikacji, kliknij „Ustawienia” i „Pokaż zmienne konfiguracyjne”.
Eirik H
1
Przynajmniej w moim przypadku odpowiednikiem części us-cdbr-east.cleardb.com nie była nazwa bazy danych, ale raczej nazwa hosta. Nazwa bazy danych została jednak znaleziona na pulpicie nawigacyjnym dodatku ClearDB.
Roseaboveit
3
musisz wyeksportować plik lokalnej bazy danych do bazy danych utworzonej przez Heroku. Po prostu śledź to wideo, a będziesz gotowy do pracy youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan
86

Uruchamiasz konfigurację heroku, aby uzyskać plik CLEARDB_DATABASE_URLi 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.

Andrei
źródło
3
Dziękuję @Andrei, ale co z portem dla bazy danych?
BKSpurgeon
2
@BKSpurgeon. Mam go do pracy z phpMyAdmin z domyślnym portem (patrz stackoverflow.com/a/22092539/4900327 )
Abhishek Divekar
Dziękuję bardzo panie. Pomaga mi to pomyślnie wdrożyć plik mysql na heroku
Travis Le
@AbhishekDivekar Twój komentarz bardzo mi pomógł. Właśnie zmieniłem nazwę użytkownika i trochę rzeczy w pliku congig.inc.php w moim xampie i działało na PHPMyAdmin.
Ahmed Adewale
24

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

Rozwijaj
źródło
13

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

lito
źródło
4
Nie wiem, dlaczego jest to tak mocno odrzucane ... Twoje createConnection wyjaśniło mi sprawę. Dzięki :)
Nico
3
Należy również podać powód głosowania przeciw. To jest odpowiedź, która mi pomogła. Dzięki stary!
Anoop.PA,
8

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.

wprowadź opis obrazu tutaj

Jordan Schuetz
źródło
Wypróbowałem to rozwiązanie, ale to nie działa. Ale to rozwiązanie działa dobrze w Sequal Pro.
nitin.agam
2

Wklej to wewnątrz terminala:

heroku config | grep CLEARDB_DATABASE_URL
user3805474
źródło
1

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`)
Sébastien Saunier
źródło
1

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.

user2364424
źródło
0

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ć ...

Neil Middleton
źródło
0

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.

GiantCoder
źródło
0

należy rozważyć uzyskanie poświadczeń vars w konfiguracjach heroku (Config Vars):

CLEARDB_DATABASE_URL

Diego Santa Cruz Mendezú
źródło
-1

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.

Alisson Reinaldo Silva
źródło
4
Dobrze wiedzieć, ale w jaki sposób pomaga to OP w znalezieniu informacji o połączeniu?
Brad Koch,
1
Masz rację, ale właśnie dodałem informację, ponieważ Neil Middleton powiedział: „Zakładając, że możesz połączyć się bezpośrednio z ClearDB”, a następnie powiedziałem tylko, że tak, może. Przepraszam za odpowiedź na coś, co nie pomogło w głównym pytaniu.
Alisson Reinaldo Silva
Bez obaw. Takie rzeczy są naprawdę dobrym materiałem na komentarze, ale wygląda na to, że potrzebujesz do tego jeszcze kilku powtórzeń.
Brad Koch
mam 0 problemów z dostaniem się do serwisu heroku. ale z serwisu do db jest problem. boooo. gettig "dial tcp 127.0.0.1:3306: getsockopt: połączenie odrzucone"
filthy_wizard