2012-01-18 62 views
1

我想在Windows 7 x64盒子上安装ROR与MySQL后端,但它们不能一起工作。当我在几个月前做到这一点时,它只是一个mysql安装和捆绑命令,但现在还没有。让Ruby和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 

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

+1

为什么'port:3307'? – Mchl 2012-01-18 20:02:12

+0

尝试在cmd行(黑色dos窗口)连接到它以验证任何可以连接到它:mysql -u root -p 然后它会询问你的密码。如果连接起来,问题出在你的ruby安装程序无法找到服务器。如果你不能进入,这是一个MySQL问题。至少可以帮助你找到问题。 – rncrtr 2012-01-18 20:03:42

+0

我正在尝试几个端口:3306和3307,以确保它不是端口配置问题。两者都不起作用。 – user1157028 2012-01-18 20:12:51

回答

0

mysql2 page on GitHub,您的Gemfile中可能有一个缺失的配置行,具体取决于您的ActiveRecord版本。

注意:截至0.3.0和ActiveRecord 3.1 - ActiveRecord适配器已经从这个gem中移出并进入ActiveRecord本身。如果你需要使用Rails版本使用mysql2 < 3.1确保在你的Gemfile

希望帮助指定宝石“mysql2”,“〜> 0.2.7。”

+0

我在gemfile.lock中指定了活动记录3.1.3和mysql2 0.3.11。我使用的是Ruby 1.9.2,rails 3.1.3,mysql 5.1.61 – user1157028 2012-01-18 20:17:15