【问题标题】:Can't connect my ruby on rails app running on MySQL to heroku无法将我在 MySQL 上运行的 ruby​​ on rails 应用程序连接到 heroku
【发布时间】:2017-04-26 03:23:21
【问题描述】:

我第一次尝试将 Rails 应用程序部署到 Heroku。 我正在尝试连接我的 ruby​​ on rails 应用程序,它有一个 MySQL 数据库。我不确定我是否错过了一些步骤,但每当我尝试访问 heroku 提供的 url 时,我都会收到消息“我们很抱歉,但出了点问题。”它要求检查日志。

当我检查 Heroku 日志时,我可以从中看出我看到了类似

的内容
ActionView::Template::Error (Access denied for user 'adffdadf2341'@'ip-10-187-29-34.ec2.internal' (using password: YES)):

我创建了一个 ClearDB 插件 我已经设置了以下

CLEARDB_DATABASE_URL:     mysql2://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true
I've set this to DATABASE_URL as well.

我不确定我的所有配置文件或 database.yml 是否都应如此。 另外需要注意的是我正在使用像 Paperclip 和 Devise 这样的 gem。为了确保我的 Paperclip 正常工作,我正在使用 AWS。

我的 github 存储库位于以下位置 https://github.com/esjayrockz/Savour

请你检查一下,如果我错过了什么,请告诉我。

【问题讨论】:

  • 您在此处提到的 DB URL mysql2://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/... 是实际 URL 还是仅用于表示目的,您的实际 URL 与您在此处发布的不同?
  • 那是实际的 URL。当我做$ heroku config | grep CLEARDB_DATABASE_URL CLEARDB_DATABASE_URL: mysql2://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true
  • 好的,但是在他们的 article 中,我可以看到他们提到了相同的 URL。我认为这不应该是所有用户的唯一 URL。您的网址应该不同。
  • 我如何知道我的 URL 应该是什么?根据他们的文章,他们编写了复制 CLEARDB_DATABASE_URL 的值。要知道这个值,请执行$ heroku config | grep CLEARDB_DATABASE_URL。当我这样做时,我会得到这个 URL。

标签: mysql ruby-on-rails heroku cleardb


【解决方案1】:

用户的密码错误,因此无法连接到 MySQL 数据库。在您的控制台中尝试以下命令:

mysql -u root -p

当出现提示时,将密码输入为“admin”

如果这是可能的,那么你应该很高兴。

【讨论】:

  • 'admin' 不是我的 root 密码。这将如何运作?我不确定我是否理解您的解决方案。
  • 在控制台输入:'mysql -u root -p' 然后回车,输入密码密码。你能登录吗?
  • 不,这不起作用。当我以 root 身份登录时,除了我的 root 密码之外的任何其他字符串将如何工作?
  • 我只是想检查你的密码是否正确当你输入'mysql -u root -p'然后输入并输入你的root密码,你能登录吗?
  • 是的,当我输入我的root密码时,我就可以登录了。
【解决方案2】:

Heroku 仅使用 postgres 数据库,因此从 gemfile 中删除 mysql 并添加以下行:

gem 'pg'

【讨论】:

  • 好的.. 如果您的插件无法正常使用应用程序,您可以在 heroku 上添加票证。
猜你喜欢
  • 2015-09-18
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多