Yanıtlar:
Heroku web sitesinde Uygulamalarım'a gidin ve ClearDB'yi kurduğunuz uygulamayı seçin.
Üst köşede Eklentiler'e tıklayın ve ardından ClearDB MySQL Veritabanı'nı seçin . Oraya vardığınızda, veritabanınıza tıklayın ve ' Uç Nokta Bilgileri ' sekmesini seçin. Orada kullanıcı adınızı / şifrenizi görüyorsunuz. Veritabanının URL'si heroku config --app <YOUR-APP-NAME>
komut satırında çalıştırılarak elde edilebilir
.
Benim durumumda şöyle bir şeydi: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE
? Reconnect = true İhtiyacınız olan şey bu bölüm: us-cdbr-east.cleardb.com
Almak için heroku yapılandırmasını çalıştırırsınız CLEARDB_DATABASE_URL
ve bu formatta bir şey olmalıdır:
CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true
Yani temelde sadece kendi URL'nize bakarsınız ve istediğiniz her şeyi oradan alırsınız. MySQL tezgahını böyle kurdum.
Bu komutu terminale yapıştırın
heroku config | grep CLEARDB_DATABASE_URL
Bundan sonra Veritabanı URL'sini alacaksınız. örneğin, bu sizin cleardb veritabanı URL'nizdir.
'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west-
06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'
Bu, veritabanı kimlik bilgileriniz olacaktır. (Yukarıdaki URL'den Alıntıdır)
KULLANICI ADI = b0600ea495asds
ŞİFRE = 9cd2b111
HOST = us-cdbr-hirone-west- 06.cleardb.net
VERİTABANI ADI = heroku_4a1dc3673c4114d
Bir Heroku sunucusunda NodeJS kullanarak MySql'e nasıl bağlanılacağını açıklayan bir video yaptım, bir göz atın:
http://www.youtube.com/watch?v=2OGHdii_42s
Görmek istemeniz durumunda kod budur:
https://github.com/mescalito/MySql-NodeJS-Heroku
İşte kodun bir parçası:
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);
});
Şerefe! BÜYÜ: http://makegif.com/g9yv.gif
MySQL tezgahını kullanıyorsanız, bu şemayı takip edin. Heroku> Uygulama Ayarlarınız> Config Vars'a gidin ve uzun URL'yi gösterin. Bu url, kullanıcı adınızı, şifrenizi, veritabanının URL'sini ve varsayılan şemayı içerir. Tüm bilgileri aşağıdaki gibi yapıştırın ve veritabanına başarıyla bağlanabileceksiniz. Bu iş parçacığında mySQL tezgahını kullanarak ClearDB'ye nasıl bağlanılacağına dair gerçek bir açıklama yoktu, bu yüzden umarım bu mücadele eden birine yardımcı olur.
Bunu terminalin içine yapıştırın:
heroku config | grep CLEARDB_DATABASE_URL
Terminalinizdeki MySQL veritabanınıza bağlanmak için bu tek astarı kullanabilirsiniz.
$ (ruby -e 'gerekli "uri"; uri = URI.parse (ARGV [0]); "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} koyar -D # {uri.path.gsub ("/", "")} "'` heroku yapılandırması: CLEARDB_DATABASE_URL` alın)
Heroku'da uygulamanıza gidin ve 'ayarlar' sekmesine tıklayın. Ardından, 'config değişkenlerini göster' yazan ikinci seçenekteki düğmeyi tıklayın.
CLEARDB_DATABASE_URL değişkeninin altında listelenen, bunun gibi bir şey bulmalısınız ...
mysql: // [kullanıcı adı]: [şifre] @ [ana bilgisayar] / [veritabanı adı]? reconnect = true
Yani [ana bilgisayar kısmı] sizin barındırıcınızdır. [Veritabanı adı] kısmı elbette veritabanınızın adıdır.
Yine de kullanıcı adınıza ve şifrenize ihtiyacınız var. Heroku'daki 'genel bakış' sekmesine geri dönün. Yüklü eklentilerinizde ClearDB eklentisine gidin. Erişmek istediğiniz veritabanına tıklayın (muhtemelen orada sadece 1 seçenek). 'Sistem bilgileri' sekmesini tıklayın. Kullanıcı adınızı ve şifrenizi görmelisiniz.
veritabanınıza erişmek için ihtiyacınız olan tek şey bu olmalıdır. Devam pro kullanıyorum. Bu bilgiyi (ad, sunucu, 'standart' sekmesine ekledim ve gitmekte fayda var.
Tüm ayrıntılar, içinde bulunabilecek veritabanı URL'sinde olacaktır heroku config
. ClearDB'ye doğrudan bağlanabileceğinizi varsayarsak (hiç denemedim), ihtiyacınız olan tek şey bunlar olmalı ...
Bütün bunlar benim için mükemmel çalıştı. Heroku yapılandırmasını kullanma | grep, yukarıda açıklandığı gibi ve sonra phpMyAdmin tarafından kullanılmak üzere config.inc.php dosyama başka bir girdi ekleyerek cleardb veritabanıma uzaktan erişebilirim. Yerel olarak SQL'e sahip olmaktan ve Heroku ile postgres kullanmaktan kurtarıyor.
heroku yapılandırmalarındaki değişkenlerin kimlik bilgilerini almayı düşünmelisiniz (Yapılandırma Vars):
CLEARDB_DATABASE_URL
Evet, ClearDB'ye doğrudan bağlanabilirsiniz, aslında bağlanmak için Workbench kullanıyorum. Daha sonra aynı DB'yi yerel ana makineniz ve heroku için kullanabilirsiniz.