远程连接到clearDB heroku数据库

问题描述:

如何使用例如MySQL查询浏览器在Heroku上执行远程连接到ClearDB MySQL数据库。哪里可以获得网址,端口,登录名和密码?远程连接到clearDB heroku数据库

在heroku网站上,转到我的应用程序并选择你安装了ClearDB的应用程序。

在上角点击插件然后选择ClearDB MySQL数据库。 一旦出现,请单击您的数据库并选择'端点信息'选项卡。你看到你的用户名/密码。数据库的URL可以通过在命令行中运行 heroku config --app <YOUR-APP-NAME>来获取。

对我来说,这是类似的:mysql://用户名:@传us-cdbr-east.cleardb.com/DATABASE重新连接=真 你需要的是这个部分:美国CDBR -east.cleardb.com

+5

你也可以直接在Heroku仪表板/网站上看到这一点,只需去你的应用程序,点击“设置”和“显示配置变量”。 – 2014-08-24 21:06:47

+0

至少在我的情况下,us-cdbr-east.cleardb.com等效的部分不是数据库的名称,而是主机的名称。但是,数据库名称是在ClearDB插件的仪表板上找到的。 – Roseaboveit 2015-01-27 07:23:38

+0

您需要将您的本地数据库文件导出到Heroku创建的数据库。只要按照这个视频,你会很好去https://www.youtube.com/watch?v=mBCH9OTVaGw&t=6s – 2017-05-22 19:17:53

所有的细节都将在数据库的URL中,可以在heroku config找到。假设你可以直接连接到ClearDB(我从来没有尝试过),这些应该是你所需要的...

您运行的Heroku的配置,以获得CLEARDB_DATABASE_URL,它应该是这种形式的东西:

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

所以基本上你只要看看自己的URL,并得到所有你想从那里。这就是我设置mysql工作台的方式。

+3

谢谢@Andrei,但数据库的端口呢? – BKSpurgeon 2016-11-16 06:43:32

+1

@BKSpurgeon。我得到它与默认端口的phpMyAdmin(见http://*.com/a/22092539/4900327) – 2017-02-16 16:47:32

+0

这是更简单:) – 2017-08-16 06:40:14

是的,你可以直接连接到ClearDB,实际上我使用Workbench来连接。然后你可以为你的本地主机和heroku使用相同的数据库。

+4

这很好知道,但如何帮助OP找到他们的连接信息? – 2013-03-29 13:46:28

+1

你是对的,但我只是添加了一个信息,因为Neil Middleton说“假设你可以直接连接到ClearDB”,那么我只是说是的,他可以。我为回答没有帮助主要问题的事情而道歉。 – 2013-05-15 02:58:42

+0

不用担心。像这样的事情是非常好的评论材料,但看起来你还需要更多的代表。 – 2013-05-15 03:02:38

我做了一个视频解释如何使用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); 
}); 

CHeers! MAGIC:http://makegif.com/g9yv.gif

+4

不知道为什么这么严重downvoted ..你的createConnection为我解决了一些事情。谢谢:) – Nico 2016-03-30 21:41:05

+3

应该提供反对票的理由。这是帮助我的答案。多谢兄弟! – 2016-04-10 16:43:42

粘贴这里面终端:

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 config | grep CLEARDB_DATABASE_URL 

这个命令这个你会得到数据库的URL后。例如,这是您的cleardb数据库URL。

'mysql://b0600ea495asds:[email protected] 
06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true' 

比这将是您的数据库凭据。 (从上面URL中提取)

USER NAME = b0600ea495asds

PASSWORD = 9cd2b111

HOST = US-CDBR-hirone - 西气东输 06.cleardb.net

DATABASE NAME = heroku_4a1dc3673c4114d