【问题标题】:Rails 4 can not connect to mysql after deployRails 4部署后无法连接到mysql
【发布时间】:2015-02-16 06:02:36
【问题描述】:

我在部署到登台时遇到了一些问题,希望任何人都可以提出解决方案。

所以我将 Rails 4Capistrano 部署到 DO 液滴。我在不同的液滴上有生产/登台分支(实际上我是第一次部署登台并且无法使其工作)。 部署进展顺利,我的应用程序已准备好在“当前”文件夹中。但我遇到的麻烦是创建数据库。当我跑步时

RAILS_ENV=生产包 exec rake db:create

我明白了

无法为 {"adapter"=>"mysql2", "encoding"=>"utf8", “重新连接”=>false,“数据库”=>“blabladb”,“池”=>5, "用户名"=>"root", "密码"=>"pass", "主机"=>"111.11.11.111"}, {:charset=>"utf8", :collat​​ion=>"utf8_unicode_ci"}

我转到 production.log,上面写着类似

的内容

致命的 Mysql2 错误无法连接到“111.11.11.111”上的 MySQL 服务器 (111)

我尝试从控制台连接到 mysql - 一切正常。我不知道这可能是什么问题。

当前文件夹中的我的 database.yml:

生产:
适配器:mysql2
编码:utf8
重新连接:假
数据库:blabladb
游泳池:5
用户名:root
密码:通过
主机:111.11.11.111

【问题讨论】:

  • host 的 IP 地址是从哪里得到的?
  • 你能从控制台连接到同一个 MySQL 实例吗?也许您在没有意识到的情况下连接到本地实例。
  • @RobinFisher 是虚拟 IP,在实际应用中是水滴的 IP
  • @tadman 对不起,我不明白你的意思,你能给我更多的细节吗?
  • 您如何通过mysql 命令行工具进行连接?

标签: mysql ruby-on-rails ruby deployment


【解决方案1】:

在你的 mysql 服务器中是否有与该 IP 地址对应的用户。这就是它与 localhost 而不是 IP 地址一起工作的原因。在生产环境中打开您的 mysql 服务器并检查是否在 IP 级别授予 root 访问权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 2021-08-05
    • 1970-01-01
    • 2014-05-26
    相关资源
    最近更新 更多