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?

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


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.


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


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


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


Wypróbowałem to rozwiązanie, ale to nie działa. Ale to rozwiązanie działa dobrze w Sequal Pro.
nitin.agam


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`)

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.


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


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.



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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.