답변:
heroku 웹 사이트에서 My Apps로 이동하여 ClearDB를 설치 한 앱을 선택합니다.
상단 모서리에서 Addons를 클릭 한 다음 ClearDB MySQL Database 를 선택 합니다. 거기에서 데이터베이스를 클릭하고 ' 엔드 포인트 정보 '탭을 선택 하십시오. 사용자 이름 / 비밀번호가 표시됩니다. 데이터베이스에 대한 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> Your Applications Settings> Config Vars로 이동 하여 긴 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에서 앱으로 이동하여 '설정'탭을 클릭하십시오. 그런 다음 '구성 변수 표시'라는 두 번째 옵션의 버튼을 클릭합니다.
CLEARDB_DATABASE_URL 변수 아래에 다음과 같은 항목이 나열됩니다.
mysql : // [사용자 이름] : [암호] @ [호스트] / [데이터베이스 이름]? reconnect = true
따라서 [호스트 부분]은 호스트입니다. [데이터베이스 이름] 부분은 물론 db 이름입니다.
여전히 사용자 이름과 비밀번호가 필요합니다. heroku의 '개요'탭으로 돌아갑니다. 설치된 애드온 섹션에서 ClearDB 애드온으로 이동합니다. 액세스하려는 데이터베이스를 클릭합니다 (아마도 하나의 옵션 만 있음). '시스템 정보'탭을 클릭합니다. 사용자 이름과 비밀번호가 표시되어야합니다.
데이터베이스에 액세스하는 데 필요한 모든 것입니다. 속편 프로를 사용합니다. 방금 그 정보 (이름, 호스트, '표준'탭에 꽂았 고 잘했습니다.
이 모든 것이 완벽하게 작동했습니다. heroku 구성 사용 | grep, 위에서 설명한대로 phpMyAdmin에서 사용하기 위해 내 config.inc.php에 다른 항목을 추가하기 만하면 내 cleardb 데이터베이스에 원격으로 액세스 할 수 있습니다. 로컬에서 SQL을 사용하고 Heroku와 함께 postgres를 사용하지 않아도됩니다.
heroku 구성 (구성 변수)에서 변수의 자격 증명을 가져 오는 것을 고려해야합니다.
CLEARDB_DATABASE_URL
예, ClearDB에 직접 연결할 수 있습니다. 실제로 Workbench를 사용하여 연결합니다. 그런 다음 localhost와 heroku에 동일한 DB를 사용할 수 있습니다.