Kết nối từ xa với cơ sở dữ liệu clearDB heroku


103

Làm cách nào để thực hiện kết nối từ xa với cơ sở dữ liệu ClearDB MySQL trên heroku bằng cách sử dụng Trình duyệt truy vấn MySQL. Lấy url, cổng, đăng nhập và mật khẩu ở đâu?

Câu trả lời:


184

Trong trang web heroku, đi tới Ứng dụng của tôi và chọn ứng dụng mà bạn đã cài đặt ClearDB.

Ở góc trên cùng, nhấp vào Addons và sau đó chọn ClearDB MySQL Database . Khi đó, hãy nhấp vào cơ sở dữ liệu của bạn và chọn tab ' Thông tin điểm cuối '. Ở đó bạn thấy tên người dùng / mật khẩu của mình. URL của cơ sở dữ liệu có thể được lấy bằng cách chạy heroku config --app <YOUR-APP-NAME>trong dòng lệnh.

Trong trường hợp của tôi, nó giống như: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE? Renect = true Điều bạn cần là phần này: us-cdbr-east.cleardb.com


16
Bạn cũng có thể xem điều này trực tiếp trên trang web / bảng điều khiển Heroku, chỉ cần truy cập ứng dụng của bạn, nhấp vào "Cài đặt" và "Hiển thị vars cấu hình".
Eirik H

1
Trong trường hợp của tôi, ít nhất phần tương đương us-cdbr-east.cleardb.com không phải là tên của cơ sở dữ liệu mà là tên của máy chủ. Tuy nhiên, tên cơ sở dữ liệu đã được tìm thấy trên trang tổng quan cho tiện ích bổ sung ClearDB.
Roseaboveit

3
bạn sẽ cần xuất tệp cơ sở dữ liệu cục bộ của mình sang cơ sở dữ liệu do Heroku tạo. Chỉ cần làm theo video này và bạn sẽ có thể truy cập youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan

85

Bạn chạy cấu hình heroku để lấy CLEARDB_DATABASE_URLvà nó phải có định dạng sau:

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

Vì vậy, về cơ bản bạn chỉ cần xem url của riêng mình và nhận được tất cả những gì bạn muốn từ đó. Đó là cách tôi thiết lập bàn làm việc mysql.


3
Cảm ơn bạn @Andrei nhưng còn cổng cho cơ sở dữ liệu thì sao?
BKSpurgeon

2
@BKSpurgeon. Tôi đã nhận nó để làm việc với phpMyAdmin với cổng mặc định (Xem stackoverflow.com/a/22092539/4900327 )
Abhishek Divekar

Cảm ơn bạn rất nhiều Ông Nó giúp tôi triển khai tập tin mysql của tôi để Heroku thành công
Travis Lê

@AbhishekDivekar nhận xét của bạn đã giúp tôi rất nhiều. Tôi vừa thay đổi tên người dùng và một số nội dung trên tệp congig.inc.php trong xamp của mình và nó hoạt động trên PHPMyAdmin.
Ahmed Adewale

23

Dán lệnh này vào thiết bị đầu cuối

  heroku config | grep CLEARDB_DATABASE_URL

Sau đó, bạn sẽ nhận được URL cơ sở dữ liệu. ví dụ: đây là URL cơ sở dữ liệu cleardb của bạn.

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

Hơn đây sẽ là thông tin đăng nhập cơ sở dữ liệu của bạn. (Trích từ URL trên)

TÊN NGƯỜI DÙNG = b0600ea495asds

MẬT KHẨU = 9cd2b111

HOST = us-cdbr-hirone-west- 06.cleardb.net

TÊN CƠ SỞ DỮ LIỆU = heroku_4a1dc3673c4114d


13

Tôi đã làm một video giải thích cách kết nối với MySql bằng NodeJS trên máy chủ Heroku, hãy xem:

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

Đây là mã trong trường hợp bạn muốn xem:

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

Đây là một phần của mã:

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

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


4
Không biết tại sao điều này lại bị phản đối nhiều như vậy .. createConnection của bạn đã giải tỏa mọi thứ cho tôi. Cảm ơn :)
Nico

3
Lý do bỏ phiếu cũng cần được cung cấp. Đây là câu trả lời đã giúp tôi. Cảm ơn nhé người anh em!
Anoop.PA

8

Nếu bạn đang sử dụng bàn làm việc mySQL, hãy làm theo giản đồ này. Đi tới Heroku> Cài đặt ứng dụng của bạn> Cấu hình Vars và hiển thị URL dài. Url đó bao gồm tên người dùng, mật khẩu của bạn, URL của cơ sở dữ liệu và lược đồ mặc định. Dán tất cả thông tin như sau vào bên dưới và bạn sẽ có thể kết nối thành công với cơ sở dữ liệu. Không có lời giải thích thực sự về cách kết nối với ClearDB bằng cách sử dụng bàn làm việc mySQL trên chủ đề này, vì vậy hy vọng điều này sẽ giúp ích cho những người đang gặp khó khăn.

nhập mô tả hình ảnh ở đây


Tôi đã thử giải pháp này nhưng điều này không hoạt động. Nhưng giải pháp này đang hoạt động tốt trong Sequal Pro.
nitin.agam


1

Bạn có thể sử dụng một lớp lót này để kết nối với cơ sở dữ liệu MySQL trong thiết bị đầu cuối của bạn.

$ (ruby -e 'request "uri"; uri = URI.parse (ARGV [0]); đặt "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} -D # {uri.path.gsub ("/", "")} "'' cấu hình heroku: lấy CLEARDB_DATABASE_URL`)

1

Đi tới ứng dụng của bạn trên heroku và nhấp vào tab 'cài đặt'. Sau đó nhấp vào nút trên tùy chọn thứ hai có nội dung 'tiết lộ các vars cấu hình'.

Bạn sẽ tìm thấy, được liệt kê trong biến CLEARDB_DATABASE_URL, giống như thế này ...

mysql: // [tên người dùng]: [mật khẩu] @ [máy chủ] / [tên cơ sở dữ liệu]? renect = true

Vì vậy [phần máy chủ] là máy chủ của bạn. Tất nhiên, phần [tên cơ sở dữ liệu] là tên db của bạn.

Bạn vẫn cần tên người dùng và mật khẩu của mình. Quay lại tab 'tổng quan' trong heroku. Đi tới tiện ích bổ sung ClearDB trong phần tiện ích bổ sung đã cài đặt của bạn. Nhấp vào cơ sở dữ liệu bạn muốn truy cập (có thể chỉ có 1 tùy chọn ở đó). Nhấp vào tab 'thông tin hệ thống'. Bạn sẽ thấy tên người dùng và mật khẩu của mình.

đó là tất cả những gì bạn cần để truy cập cơ sở dữ liệu của mình. Tôi sử dụng phần tiếp theo chuyên nghiệp. Tôi chỉ cần cắm thông tin đó (tên, máy chủ, vào tab 'tiêu chuẩn' và tôi đã sẵn sàng.


0

Tất cả các chi tiết sẽ có trong URL cơ sở dữ liệu có thể được tìm thấy trong heroku config. Giả sử bạn có thể kết nối trực tiếp với ClearDB (tôi chưa từng thử), đây sẽ là tất cả những gì bạn cần ...


0

Tất cả điều này đã làm việc hoàn hảo cho tôi. Sử dụng cấu hình heroku | grep, như được mô tả ở trên và sau đó chỉ cần thêm một mục nhập khác vào config.inc.php của tôi để phpMyAdmin sử dụng và tôi có thể truy cập cơ sở dữ liệu cleardb của mình từ xa. Nó giúp tôi tiết kiệm phải có SQL cục bộ và sử dụng postgres với Heroku.



-1

Có, bạn có thể kết nối trực tiếp với ClearDB, thực ra tôi sử dụng Workbench để kết nối. Sau đó, bạn có thể sử dụng cùng một DB cho localhost của bạn và cho heroku.


4
Điều đó là tốt để biết, nhưng điều đó giúp OP tìm thấy thông tin kết nối của họ như thế nào?
Brad Koch

1
Bạn nói đúng, nhưng tôi chỉ thêm một thông tin, bởi vì Neil Middleton nói "Giả sử bạn có thể kết nối trực tiếp với ClearDB", sau đó tôi chỉ nói Có, anh ấy có thể. Tôi xin lỗi vì đã trả lời điều gì đó không giúp được câu hỏi chính.
Alisson Reinaldo Silva

Đừng lo lắng. Những thứ như thế này thực sự là tài liệu bình luận tốt, nhưng có vẻ như bạn vẫn cần thêm một vài đại diện cho điều đó.
Brad Koch

tôi có 0 vấn đề với dịch vụ heroku. nhưng từ dịch vụ đến db là vấn đề nằm ở đâu. oooo. gettig "dial tcp 127.0.0.1:3306: getsockopt: kết nối từ chối"
filthy_wizard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.