【问题标题】:Getting Ruby and MySQL to work together让 Ruby 和 MySQL 协同工作
【发布时间】:2012-01-18 19:52:24
【问题描述】:

我正在尝试在 Windows 7 x64 机器上安装带有 MySQL 后端的 ROR,但它们不能一起工作。几个月前我这样做时,它只是一个 mysql 安装和一个捆绑命令,但这次不是。

我已经在没有空格的路径上安装了 MySQL 5.1 32 位并配置了服务器。我必须使用命令行参数安装 mysql2 gem 来指定 mysql 实例路径以安装 gem。但是,rake db:create 失败并出现Can't connect to MySQL server on 'localhost' (10061) 错误。

我已经验证了 mysql 正在指定的端口上运行。 mysql、mysqladmin 和telnet localhost 3306 都正常工作。我有一个端口 3306 的防火墙例外,它工作正常。我也关闭了防火墙,它没有任何区别。

我已经花了几个小时浏览谷歌并尝试了许多可能性但没有成功。我发现的大多数文档都与 mysql 未在管道上运行/运行的问题有关,但这不是我的问题。

database.yml excerpt:
common: &common
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  username: root
  password: root
  #host: 127.0.0.1
  host: localhost
  port: 3307


development:
  <<: *common
  database: project_dev

任何想法如何解决这个问题?

【问题讨论】:

  • 尝试在 cmd 行(黑色 dos 窗口)中连接到它,以验证任何东西都可以连接到它: mysql -u root -p 然后它会要求您输入密码。如果可以连接,则问题出在您的 ruby​​ 设置找不到服务器。如果都进不去,那就是mysql的问题。至少可以帮助您找到问题。
  • 我尝试了几个端口:3306 和 3307,以确保这不是端口配置问题。两者都不起作用。
  • mysql -u root -p 工作得很好。与 mysqladmin -u root -p version 和 telnet localhost 3306 相同。

标签: mysql ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

mysql2 page on GitHub 开始,您的 Gemfile 中可能缺少配置行,具体取决于您的 ActiveRecord 版本。

注意:从 0.3.0 和 ActiveRecord 3.1 开始 - ActiveRecord 适配器已从该 gem 中拉出并进入 ActiveRecord 本身。如果您需要在 Rails 版本 0.2.7"

希望对您有所帮助。

【讨论】:

  • 我在 gemfile.lock 中指定了活动记录 3.1.3 和 mysql2 0.3.11。我正在使用 ruby​​ 1.9.2、rails 3.1.3、mysql 5.1.61
猜你喜欢
  • 2011-03-30
  • 2016-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-28
  • 2011-09-25
  • 2016-03-09
  • 1970-01-01
相关资源
最近更新 更多