Sambungkan jarak jauh ke database heroku clearDB

103

Bagaimana saya bisa melakukan koneksi jarak jauh ke database MySQL ClearDB di heroku menggunakan misalnya MySQL Query Browser. Dimana mendapatkan url, port, login dan password?

Roma
sumber

Jawaban:

185

Di situs web heroku, buka Aplikasi Saya dan pilih aplikasi tempat Anda menginstal ClearDB.

Di sudut atas klik Addons lalu pilih ClearDB MySQL Database . Sesampai di sana, klik database Anda dan pilih tab ' Informasi Titik Akhir '. Di sana Anda melihat nama pengguna / kata sandi Anda. URL ke database dapat diperoleh dengan menjalankan heroku config --app <YOUR-APP-NAME>baris perintah.

Dalam kasus saya, itu seperti: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE? Reconnect = true Yang Anda butuhkan adalah bagian ini: us-cdbr-east.cleardb.com

Abbas
sumber
17
Anda juga dapat melihat ini langsung di dasbor / situs web Heroku, cukup buka aplikasi Anda, klik "Pengaturan" dan "Tampilkan variabel konfigurasi".
Eirik H
1
Setidaknya dalam kasus saya, bagian yang setara dengan us-cdbr-east.cleardb.com bukanlah nama database melainkan nama host. Namun nama database ditemukan di dasbor untuk addon ClearDB.
Roseaboveit
3
Anda harus mengekspor file database lokal Anda ke database yang dibuat oleh Heroku. Ikuti saja video ini dan Anda akan baik-baik saja ke youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan
86

Anda menjalankan konfigurasi heroku untuk mendapatkan CLEARDB_DATABASE_URLdan itu harus berupa sesuatu dari format ini:

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

Jadi pada dasarnya Anda hanya melihat url Anda sendiri dan mendapatkan semua yang Anda inginkan dari sana. Begitulah cara saya mengatur meja kerja mysql.

Andrei
sumber
3
Terima kasih @Andrei tapi bagaimana dengan port untuk databasenya?
BKSpurgeon
2
@Tokopedia Saya membuatnya berfungsi dengan phpMyAdmin dengan port default (Lihat stackoverflow.com/a/22092539/4900327 )
Abhishek Divekar
Terima kasih banyak Pak Ini membantu saya menyebarkan file mysql saya ke heroku dengan sukses
Travis Le
@AbhishekDivekar komentar Anda sangat membantu saya. Saya baru saja mengubah nama pengguna dan beberapa hal di file congig.inc.php di xamp saya dan itu berfungsi di PHPMyAdmin.
Ahmed Adewale
24

Tempel perintah ini di terminal

  heroku config | grep CLEARDB_DATABASE_URL

Setelah ini Anda akan mendapatkan URL Database. misalnya ini adalah URL database cleardb Anda.

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

Kemudian ini akan menjadi kredensial database Anda. (Diambil dari URL Di Atas)

NAMA PENGGUNA = b0600ea495asds

KATA SANDI = 9cd2b111

PEMBAWA ACARA = us-cdbr-hirone-west- 06.cleardb.net

NAMA DATABASE = heroku_4a1dc3673c4114d

Developine
sumber
13

Saya membuat video yang menjelaskan cara menyambung ke MySql menggunakan NodeJS di server Heroku, lihat:

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

Ini adalah kode jika Anda ingin melihat:

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

Ini bagian dari kodenya:

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

Bersulang! SIHIR: http://makegif.com/g9yv.gif

lito
sumber
4
Tidak tahu mengapa ini sangat tidak disukai .. createConnection Anda menjelaskan semuanya untuk saya. Terima kasih :)
Nico
3
Alasan penurunan suara juga harus diberikan. Inilah jawaban yang membantu saya. Terimakasih Bro!
Anoop.PA
8

Jika Anda menggunakan meja kerja mySQL, ikuti skema ini. Buka Heroku> Pengaturan Aplikasi Anda> Config Vars , dan tunjukkan URL panjangnya. Url itu termasuk nama pengguna, kata sandi, URL database dan skema default Anda. Rekatkan semua informasi sebagai berikut di bawah ini, dan Anda akan berhasil terhubung ke database. Tidak ada penjelasan nyata tentang cara menyambung ke ClearDB menggunakan meja kerja mySQL di utas ini, jadi semoga ini membantu seseorang yang kesulitan.

masukkan deskripsi gambar di sini

Jordan Schuetz
sumber
Saya mencoba solusi ini tetapi ini tidak berhasil. Tetapi solusi ini berfungsi dengan baik di Sequal Pro.
nitin.agam
2

Tempel di dalam terminal ini:

heroku config | grep CLEARDB_DATABASE_URL
pengguna3805474
sumber
1

Anda dapat menggunakan satu baris ini untuk terhubung ke database MySQL Anda di terminal Anda.

$ (ruby -e 'memerlukan "uri"; uri = URI.parse (ARGV [0]); menempatkan "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} -D # {uri.path.gsub ("/", "")} "'konfigurasi heroku: dapatkan CLEARDB_DATABASE_URL`)
Sébastien Saunier
sumber
1

Buka aplikasi Anda di heroku dan klik tab 'pengaturan'. Kemudian klik tombol pada opsi kedua yang bertuliskan 'mengungkapkan config vars'.

Anda harus menemukan, tercantum di bawah variabel CLEARDB_DATABASE_URL, sesuatu seperti ini ...

mysql: // [nama pengguna]: [sandi] @ [host] / [nama database]? menghubungkan kembali = true

Jadi [bagian tuan rumah] adalah tuan rumah Anda. Bagian [nama database] adalah nama db Anda, tentu saja.

Anda masih membutuhkan nama pengguna dan kata sandi Anda. Kembali ke tab 'ikhtisar' di heroku. Buka add-on ClearDB di bagian add-on yang Anda instal. Klik database yang ingin Anda akses (mungkin hanya ada 1 pilihan). Klik tab 'informasi sistem'. Anda harus melihat nama pengguna dan kata sandi Anda.

hanya itu yang Anda butuhkan untuk mengakses database Anda. Saya menggunakan sekuel pro. Saya baru saja memasukkan info itu (nama, host, ke tab 'standar' dan saya siap melakukannya.

pengguna2364424
sumber
0

Semua detail akan ada di URL database yang dapat ditemukan di heroku config. Dengan asumsi Anda dapat terhubung ke ClearDB secara langsung (saya belum pernah mencoba), ini harus menjadi semua yang Anda butuhkan ...

Neil Middleton
sumber
0

Semua ini bekerja dengan sempurna untuk saya. Menggunakan konfigurasi heroku | grep, seperti dijelaskan di atas dan kemudian cukup menambahkan entri lain ke config.inc.php saya untuk digunakan oleh phpMyAdmin dan saya dapat mengakses database cleardb saya dari jarak jauh. Ini membuat saya tidak perlu memiliki SQL secara lokal dan menggunakan postgres dengan Heroku.

GiantCoder
sumber
0

harus mempertimbangkan untuk mendapatkan kredensial vars dalam konfigurasi heroku (Config Vars):

CLEARDB_DATABASE_URL

Diego Santa Cruz Mendezú
sumber
-1

Ya, Anda dapat terhubung ke ClearDB secara langsung, sebenarnya saya menggunakan Workbench untuk terhubung. Kemudian Anda dapat menggunakan DB yang sama untuk localhost Anda dan untuk heroku.

Alisson Reinaldo Silva
sumber
4
Itu bagus untuk diketahui, tapi bagaimana hal itu membantu OP menemukan informasi koneksi mereka?
Brad Koch
1
Anda benar, tetapi saya baru saja menambahkan info, karena Neil Middleton berkata "Dengan asumsi Anda dapat terhubung ke ClearDB secara langsung", maka saya hanya mengatakan Ya, dia bisa. Saya minta maaf karena menjawab sesuatu yang tidak membantu pertanyaan utama.
Alisson Reinaldo Silva
Jangan khawatir. Hal-hal seperti ini benar-benar bahan komentar yang bagus, tetapi sepertinya Anda masih membutuhkan beberapa perwakilan lagi untuk itu.
Brad Koch
saya punya 0 masalah gettig ke layanan heroku. tetapi dari layanan ke db adalah tempat masalahnya. boooo. gettig "panggil tcp 127.0.0.1:3306: getsockopt: koneksi ditolak"
filthy_wizard