远程连接到clearDB heroku数据库


Answers:


184

在heroku网站上,转到“我的应用程序”,然后选择已安装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


16
您也可以直接在Heroku仪表板/网站上看到此内容,只需转到您的应用程序,单击“设置”和“显示配置变量”。
Eirik H

1
至少就我而言,us-cdbr-east.cleardb.com的等效部分不是数据库的名称,而是主机的名称。但是,在ClearDB插件的仪表板上找到了数据库名称。
Roseaboveit 2015年

3
您需要将本地数据库文件导出到Heroku创建的数据库。只需观看此视频,您就可以上youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan

85

您运行heroku config来获取,CLEARDB_DATABASE_URL并且该格式应为以下格式:

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

因此,基本上,您只需要查看您自己的url即可从那里获取所有想要的内容。这就是我设置mysql工作台的方式。


3
谢谢@Andrei,但是数据库的端口呢?
BKSpurgeon '16

2
@BKSpurgeon。我把它与phpMyAdmin使用默认端口(见得工作stackoverflow.com/a/22092539/4900327
阿布舍克Divekar

非常感谢先生。它帮助我成功地将mysql文件部署到heroku
Travis Le

@AbhishekDivekar您的评论对我有很大帮助。我只是在xamp中更改了用户名和congig.inc.php文件中的某些内容,并且它在PHPMyAdmin上有效。
艾哈迈德·阿德瓦莱

23

将此命令粘贴到终端中

  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为我清除了一切。谢谢:)
Nico

3
还应提供拒绝投票的理由。这是帮助我的答案。多谢兄弟!
Anoop.PA

8

如果使用的是mySQL工作台,请遵循以下架构。转到Heroku>您的应用程序设置> Config Vars,然后显示长网址。该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]);放置“ mysql -u#{uri.user} -p#{uri.password} -h#{uri.host} -D#{uri.path.gsub(“ /”,“”)}“”`heroku config:get CLEARDB_DATABASE_URL`)

1

在heroku上转到您的应用,然后单击“设置”标签。然后单击第二个选项上的按钮,显示“ reveal config vars”。

您应该在CLEARDB_DATABASE_URL变量下找到类似下面的内容...

mysql:// [用户名]:[密码] @ [主机] / [数据库名称]?reconnect = true

因此,[主机部分]是您的主机。当然,[数据库名称]部分是您的数据库名称。

您仍然需要您的用户名和密码。返回至heroku中的“概述”标签。在已安装的附件部分中转到ClearDB附件。单击您要访问的数据库(那里可能只有1个选项)。点击“系统信息”标签。您应该看到您的用户名和密码。

那应该就是您访问数据库所需的全部。我使用续集专业版。我只是将该信息(名称,主机,信息)插入“标准”标签中,所以我很高兴。


0

所有详细信息将在可在中找到的数据库URL中heroku config。假设您可以直接连接到ClearDB(我从未尝试过),那么这些应该就是您所需要的...


0

所有这些对我来说都很完美。使用heroku配置| grep,如上所述,然后只需在config.inc.php中添加另一个条目以供phpMyAdmin使用,我就可以远程访问我的cleardb数据库。它使我不必在本地使用SQL并在Heroku中使用postgres。



-1

是的,您可以直接连接到ClearDB,实际上我使用Workbench进行连接。然后,您可以将同一数据库用于localhost和heroku。


4
很高兴知道,但是这如何帮助OP查找其连接信息?
布拉德·科赫

1
没错,但是我刚刚添加了一条信息,因为尼尔·米德尔顿说“假设您可以直接连接到ClearDB”,那么我只是说是的,他可以。对于无法回答主要问题的问题,我深表歉意。
阿里森·雷纳尔多·席尔瓦

别担心。这样的事情确实是很好的评论材料,但是看起来您仍然需要更多的代表。
布莱德·科赫

我对heroku服务有0个问题gettig。但是从服务到数据库是问题所在。嘘 gettig“拨号TCP 127.0.0.1:3306:getsockopt:连接被拒绝”
filthy_wizard
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.