回答:
herokuのWebサイトで、[マイアプリ]に移動し、ClearDBをインストールしたアプリを選択します。
上隅にある[ アドオン ]をクリックし、[ ClearDB MySQLデータベース ]を選択します。そこに移動したら、データベースをクリックし、「エンドポイント情報」タブを選択します。そこにあなたのユーザー名/パスワードが表示されます。データベースへのURL heroku config --app <YOUR-APP-NAME>
は、コマンドラインで実行することにより取得できます
。
私の場合、それは次のようなものでした:mysql:// user:pass @ us-cdbr-east.cleardb.com / DATABASE
?reconnect = trueこの部分が必要です:us-cdbr-east.cleardb.com
あなたは取得するためにheroku configを実行しCLEARDB_DATABASE_URL
、それはこのフォーマットの何かであるはずです:
CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true
つまり、基本的には自分のURLを見て、そこから必要なすべてを取得するだけです。これがmysqlワークベンチのセットアップ方法です。
このコマンドをターミナルに貼り付けます
heroku config | grep CLEARDB_DATABASE_URL
この後、データベースURLを取得します。たとえば、これはcleardbデータベースのURLです。
'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west-
06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'
これはあなたのデータベース資格情報になります。(上記URLより抜粋)
ユーザー名= b0600ea495asds
パスワード= 9cd2b111
ホスト= us-cdbr-hirone-west- 06.cleardb.net
データベース名= heroku_4a1dc3673c4114d
HerokuサーバーでNodeJSを使用してMySqlに接続する方法を説明したビデオを見て、見てみましょう:
http://www.youtube.com/watch?v=2OGHdii_42s
これは、見たい場合のコードです。
https://github.com/mescalito/MySql-NodeJS-Heroku
これはコードの一部です:
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);
});
乾杯!マジック:http : //makegif.com/g9yv.gif
mySQLワークベンチを使用している場合は、このスキーマに従ってください。Heroku>アプリケーション設定>変数の構成に移動し、長いURLを表示します。そのURLには、ユーザー名、パスワード、データベースのURL、およびデフォルトのスキーマが含まれます。以下のようにすべての情報を貼り付けると、データベースに正常に接続できます。このスレッドでmySQLワークベンチを使用してClearDBに接続する方法についての実際の説明はなかったので、うまくいけば、これが苦労していた人を助けるでしょう。
これを内部ターミナルに貼り付けます:
heroku config | grep CLEARDB_DATABASE_URL
このワンライナーを使用して、ターミナルでMySQLデータベースに接続できます。
$(ruby -e 'require "uri"; uri = URI.parse(ARGV [0]); puts "mysql -u#{uri.user} -p#{uri.password} -h#{uri.host} -D#{uri.path.gsub( "/"、 "")} "'` heroku config:get CLEARDB_DATABASE_URL`)
herokuのアプリに移動し、[設定]タブをクリックします。次に、「構成変数を表示」という2番目のオプションのボタンをクリックします。
CLEARDB_DATABASE_URL変数の下にリストされている、次のようなものが見つかります...
mysql:// [ユーザー名]:[パスワード] @ [ホスト] / [データベース名]?reconnect = true
したがって、[ホスト部分]はホストです。[データベース名]の部分はもちろんDB名です。
それでも、ユーザー名とパスワードが必要です。herokuの[概要]タブに戻ります。インストールされているアドオンセクションのClearDBアドオンに移動します。アクセスするデータベースをクリックします(おそらく1つのオプションのみです)。「システム情報」タブをクリックします。ユーザー名とパスワードが表示されます。
データベースにアクセスするために必要なのはこれだけです。続編プロを使っています。その情報(名前、ホスト)を「標準」タブに差し込んだところ、問題はありませんでした。
これらはすべて私にとって完璧に機能しました。heroku configの使用| 上記のようにgrepを実行し、phpMyAdminで使用するためにconfig.inc.phpに別のエントリを追加するだけで、リモートからcleardbデータベースにアクセスできます。ローカルにSQLを用意し、Herokuでpostgresを使用する必要がなくなります。
heroku構成(Config Vars)で変数の資格情報を取得することを検討する必要があります。
CLEARDB_DATABASE_URL
はい、ClearDBに直接接続できます。実際にはWorkbenchを使用して接続しています。その後、ローカルホストとherokuに同じDBを使用できます。