How can i perform a remote connect to ClearDB MySQL database on heroku using for example MySQL Query Browser. Where to get url, port, login and password?
所有的细节将在数据库 URL 中,可以在 heroku config中找到。假设您可以直接连接到 ClearDB (我从未尝试过) ,这些应该就是您所需要的全部..。
heroku config
在 heroku 网站中,转到 My Apps 并选择您已经安装了 ClearDB 的应用程序。
在顶部的角上单击 插件,然后选择 ClearDB MySQL Database。 到达后,单击数据库并选择“ Endpoint Information”选项卡。这里您可以看到您的用户名/密码。可以通过运行 命令行中的 heroku config --app <YOUR-APP-NAME>。
heroku config --app <YOUR-APP-NAME>
在我的例子中,它类似于: mysql://user: pass@Us-cdbr-east.cleardb.com/DATABASE? reconnect = true 你需要的是这部分: < 强大的 us-cdbr-east.cleardb.com
DATABASE
你运行 heroku 配置得到 CLEARDB_DATABASE_URL,它应该是这样的格式:
CLEARDB_DATABASE_URL
CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true
So basically you just look at your own url and get all you want from there. That's how i set up mysql workbench.
是的,您可以直接连接到 ClearDB,实际上我使用 Workbench 来连接。然后您可以对本地主机和 heroku 使用相同的数据库。
我做了一个视频,解释如何在 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); });
干杯! MAGIC: http://makegif.com/g9yv.gif
粘贴到终端内:
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`)
将此命令粘贴到终端
在此之后,您将得到数据库 URL。例如,这是您的 cleardb 数据库 URL。
'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west- 06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'
这将是您的数据库凭据
用户名 = b0600ea495asds
密码 = 9cd2b111
主持人 = us-cdbr-hirone-west- 06.cleardb.net
DATABASE NAME = heroku_4a1dc3673c4114d
Go to your app on heroku and click to the 'settings' tab. Then click the button on the second option that says 'reveal config vars'.
您应该会发现,在 CLEARDB _ DATABASE _ URL 变量下面列出了类似..。
Mysql://[用户名] : [ password ]@[ host ]/[ database name ] ? reconnect = true
所以[ host 部分]是您的主机,当然,[ database name ]部分是您的 db 名。
您仍然需要您的用户名和密码。回到 heroku 中的“概述”选项卡。转到您安装的附加组件部分中的 ClearDB 附加组件。单击要访问的数据库(可能只有1个选项)。单击“系统信息”选项卡。您应该看到您的用户名和密码。
这应该就是访问数据库所需的全部内容了。我用的是续集专家。我只是把信息(姓名,主机,到’标准’标签,我是好去。
这一切对我来说都很完美。使用 heroku config | grep,如上所述,然后只需在 config.inc.php 中添加另一个条目,以供 phpMyAdmin 使用,就可以远程访问 cleardb 数据库。它省去了我必须在本地使用 SQL 和在 Heroku 中使用 postgres 的麻烦。
如果您正在使用 mySQL 工作台,请遵循以下模式。转到 Heroku > 应用程序设置 > 配置变量,显示长 URL。该 URL 包括您的用户名、密码、数据库的 URL 和默认模式。粘贴以下所有信息,您将能够成功地连接到数据库。在这个线程上没有关于如何使用 mySQL 工作台连接到 ClearDB 的真正解释,所以希望这能帮助那些正在挣扎的人。
应该考虑在 heroku 配置中获得 Vars 的凭据(配置 Vars) :
CLEARDB _ DATABASE _ URL
对于 Windows 用户,没有 grep 命令。
Just try,
还有另一种方法,进入 Heroku 网站的设置,然后使用 config var。