Câu trả lời:
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
Bạn chạy cấu hình heroku để lấy CLEARDB_DATABASE_URL
và 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.
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
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
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.
Dán cái này vào bên trong thiết bị đầu cuối:
heroku config | grep CLEARDB_DATABASE_URL
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`)
Đ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.
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 ...
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.
nên cân nhắc lấy thông tin đăng nhập của vars trong cấu hình heroku (Config Vars):
CLEARDB_DATABASE_URL
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.