我正在尝试在 Windows 7 x64 机器上安装带有 MySQL 后端的 ROR,但它们无法协同工作。几个月前我这样做时,它只是一个 mysql 安装和一个 bundle 命令,但这次不是。
我已经在没有空格的路径上安装了 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 的防火墙异常(exception),它工作正常。我也关闭了防火墙,但没有任何区别。
我花了几个小时浏览谷歌并尝试了很多可能性,但都没有成功。我发现的大多数文档都与 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
有什么办法解决这个问题吗?
最佳答案
来自mysql2 page on GitHub ,您的 Gemfile 中可能缺少配置行,具体取决于您的 ActiveRecord 版本。
NOTE: as of 0.3.0, and ActiveRecord 3.1 - the ActiveRecord adapter has been pulled out of this gem and into ActiveRecord itself. If you need to use mysql2 with Rails versions < 3.1 make sure and specify gem "mysql2", "~> 0.2.7" in your Gemfile
希望对您有所帮助。
关于mysql - 让 Ruby 和 MySQL 协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8916468/