clearDB heroku 데이터베이스에 원격 연결


103

예를 들어 MySQL 쿼리 브라우저를 사용하여 heroku에서 ClearDB MySQL 데이터베이스에 원격 연결을 수행하려면 어떻게해야합니까? URL, 포트, 로그인 및 비밀번호는 어디에서 얻을 수 있습니까?

답변:


185

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


17
Heroku 대시 보드 / 웹 사이트에서 직접 확인할 수도 있습니다. 앱으로 이동하여 "설정"및 "설정 변수 공개"를 클릭하면됩니다.
Eirik H

1
제 경우에는 최소한 us-cdbr-east.cleardb.com에 해당하는 부분은 데이터베이스 이름이 아니라 호스트 이름이었습니다. 그러나 데이터베이스 이름은 ClearDB 애드온의 대시 보드에서 발견되었습니다.
Roseaboveit 2015 년

3
로컬 데이터베이스 파일을 Heroku에서 만든 데이터베이스로 내 보내야합니다. 이 비디오를 따르기 만하면 youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan

86

heroku config를 실행하여 가져 오면 CLEARDB_DATABASE_URL다음 형식이어야합니다.

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

따라서 기본적으로 자신의 URL을보고 원하는 모든 것을 얻을 수 있습니다. 이것이 제가 mysql 워크 벤치를 설정하는 방법입니다.


3
@Andrei에게 감사하지만 데이터베이스 포트는 어떻습니까?
BKSpurgeon

2
@BKSpurgeon. 기본 포트를 사용하여 phpMyAdmin에서 작동하도록했습니다 ( stackoverflow.com/a/22092539/4900327 참조 )
Abhishek Divekar

정말 감사합니다. mysql 파일을 heroku에 성공적으로 배포하는 데 도움이됩니다.
Travis Le

@AbhishekDivekar 귀하의 의견은 저를 많이 도왔습니다. 내 xamp의 congig.inc.php 파일에서 사용자 이름과 일부 항목을 변경했으며 PHPMyAdmin에서 작동했습니다.
Ahmed Adewale

24

이 명령을 터미널에 붙여 넣기

  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


13

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


4
이것이 왜 그렇게 많이 반대표를 던 졌는지 모르겠습니다. 당신의 createConnection이 나를 위해 일을 정리했습니다. 감사합니다 :)
니코

3
반대표에 대한 이유도 제공해야합니다. 이것이 나를 도운 대답입니다. 고마워, 형!
Anoop.PA

8

mySQL 워크 벤치를 사용하는 경우이 스키마를 따르십시오. Heroku> Your Applications Settings> Config Vars로 이동 하여 긴 URL을 표시합니다. 이 URL에는 사용자 이름, 비밀번호, 데이터베이스 URL 및 기본 스키마가 포함됩니다. 다음과 같이 모든 정보를 붙여 넣으면 데이터베이스에 성공적으로 연결할 수 있습니다. 이 스레드에서 mySQL 워크 벤치를 사용하여 ClearDB에 연결하는 방법에 대한 실제 설명이 없었으므로 이것이 어려움을 겪고있는 사람에게 도움이되기를 바랍니다.

여기에 이미지 설명 입력


이 솔루션을 시도했지만 작동하지 않습니다. 그러나이 솔루션은 Sequal Pro에서 잘 작동합니다.
nitin.agam

2

이것을 터미널 내부에 붙여 넣으십시오.

heroku config | grep CLEARDB_DATABASE_URL

1

이 한 줄짜리를 사용하여 터미널의 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`)

1

heroku에서 앱으로 이동하여 '설정'탭을 클릭하십시오. 그런 다음 '구성 변수 표시'라는 두 번째 옵션의 버튼을 클릭합니다.

CLEARDB_DATABASE_URL 변수 아래에 다음과 같은 항목이 나열됩니다.

mysql : // [사용자 이름] : [암호] @ [호스트] / [데이터베이스 이름]? reconnect = true

따라서 [호스트 부분]은 호스트입니다. [데이터베이스 이름] 부분은 물론 db 이름입니다.

여전히 사용자 이름과 비밀번호가 필요합니다. heroku의 '개요'탭으로 돌아갑니다. 설치된 애드온 섹션에서 ClearDB 애드온으로 이동합니다. 액세스하려는 데이터베이스를 클릭합니다 (아마도 하나의 옵션 만 있음). '시스템 정보'탭을 클릭합니다. 사용자 이름과 비밀번호가 표시되어야합니다.

데이터베이스에 액세스하는 데 필요한 모든 것입니다. 속편 프로를 사용합니다. 방금 그 정보 (이름, 호스트, '표준'탭에 꽂았 고 잘했습니다.


0

모든 세부 정보는에서 찾을 수있는 데이터베이스 URL에 있습니다 heroku config. ClearDB에 직접 연결할 수 있다고 가정하면 (한 번도 시도한 적이 없습니다), 이것 만 있으면됩니다.


0

이 모든 것이 완벽하게 작동했습니다. heroku 구성 사용 | grep, 위에서 설명한대로 phpMyAdmin에서 사용하기 위해 내 config.inc.php에 다른 항목을 추가하기 만하면 내 cleardb 데이터베이스에 원격으로 액세스 할 수 있습니다. 로컬에서 SQL을 사용하고 Heroku와 함께 postgres를 사용하지 않아도됩니다.



-1

예, ClearDB에 직접 연결할 수 있습니다. 실제로 Workbench를 사용하여 연결합니다. 그런 다음 localhost와 heroku에 동일한 DB를 사용할 수 있습니다.


4
알아두면 좋지만 OP가 연결 정보를 찾는 데 어떻게 도움이됩니까?
Brad Koch

1
맞아요.하지만 방금 정보를 추가했습니다. Neil Middleton이 "ClearDB에 직접 연결할 수 있다고 가정하면"이라고 말한 후 방금 예, 할 수 있다고 말했습니다. 주요 질문에 도움이되지 않은 것에 대해 사과드립니다.
Alisson Reinaldo Silva 2013

걱정 마. 이와 같은 것은 정말 좋은 댓글 자료이지만 여전히 몇 명의 담당자가 더 필요한 것 같습니다.
Brad Koch

나는 heroku 서비스에 0 문제가 있습니다. 그러나 서비스에서 db로 문제가 발생합니다. 우와. gettig "127.0.0.1:3306를 TCP 전화 : getsockopt 함수를 : 연결이 거부"
filthy_wizard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.