mysql - 渲染 View 时 Rails 连接到错误的端口

标签 mysql ruby-on-rails macos ruby-on-rails-4

我目前正在研究这个错误,但到目前为止我还无法找出问题所在。

当我运行 mysqld 来启动 mysql 服务器时,除了这两个错误之外,一切似乎都运行良好。

RSA private key file not found: /usr/local/var/mysql//private_key.pem. Some authentication plugins will not work.
RSA public key file not found: /usr/local/var/mysql//public_key.pem. Some authentication plugins will not work.

注意路径如何有双斜杠。我假设 mysql 自动生成这些 key 并使用它们,因为我自己从未手动创建过它们。

然而,我的 Rails 应用程序的服务器似乎运行良好,并显示加载 View 的成功消息,但浏览器保持空白大约 1 分钟,然后才收到错误页面。错误页面是这样的:

Errno::ETIMEDOUT - Operation timed out - connect(2) for "localhost" port 35729

看来 Rails 正在尝试通过端口 35729 连接到本地 mysql 服务器,但它运行在端口 3306 上?我已经在database.yml中明确设置了这个端口号,但没有用。显然,这个故事的意义远不止于此,我目前正在试图弄清楚这里还发生了什么。

这里是database.yml引用的database.local.yml

development:
adapter:  mysql2
database: somepages_dev
pool: 5
timeout:  5000
encoding: utf8

我可以通过输入 mysql 进入 mysql 命令行。所以看来 Rails 配置错误?

此外,我发现通过切换到其他 Rails 项目,数据库到 Rails 的连接工作正常。当我创建一个新的 Rails 项目时也可以正常工作。

编辑database.locl.yml 文件时,我尝试过以下操作: 到目前为止,我已经尝试了一些排列,所有这些排列都返回相同的错误。我尝试仅使用主机。然后是主机+端口。然后就是 socks 路径。然后是sock路径+主机+端口。每次进行更改时,我都会重新启动 Rails 服务器。

** 也许最奇怪的事情是我仍然可以运行 rake 命令来编辑数据库。我可以执行 rake db:drop && rake db:create && rake db:migrate && rake db:seed 并且一切运行顺利。

只有在尝试渲染 View 时才会弹出错误

提前感谢您的帮助!

最佳答案

问题是我使用 LiveReload。

{:live_reload_port=>35729}

仅激活了应用程序的一半。我运行了桌面应用程序,但浏览器对应的应用程序没有运行。

关于mysql - 渲染 View 时 Rails 连接到错误的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32874769/

相关文章:

objective-c - 绘制标准的 NSImage 倒置(白色而不是黑色)

macos - 如何以编程方式在 OSX Xcode 项目中设置 WebView 的 URL?

mysql - 我如何在一张表中使用多个 WHERE 进行选择

ruby-on-rails - 可以在 Rails 中定义多个同名的操作吗?

mysql - 是否有 mysql "multitable"触发器 - E.G.仅在所有表更新完成后才触发的触发器?

ruby-on-rails - Rails/Heroku 基于磁盘的缓存解决方案?

ruby-on-rails - 如何添加文件夹来收集统计数据?

swift - 在 Swift 中为核心数据实现 NSValueTransformer 的位置

php - SQLSTATE[HY000] [2002] 连接尝试失败.. - 尝试从本地连接到远程服务器时

php - jQuery 自动完成