不能种子数据库;因拒绝连接而无法工作?

问题描述:

当我尝试种子我的应用程序时出现错误:不能种子数据库;因拒绝连接而无法工作?

No connection could be made because the - target machine actively refused it. - connect(2)

我相信原因是因为我是有mysql2问题,所以我卸载它与MySQL 5.5服务器一起,然后切换到SQLITE3。我认为mysql2的服务器正在后台运行,所以这可能是问题。我将如何解决这个问题?我将如何关闭Mysql2本地主机服务器或任何导致此问题的服务器?

我在Windows 7 64位上运行。

Rails 3.0.9 
SQLite3 1.3.4 

谢谢。

注:我可以迁移和放弃罚款。

编辑:

的config/database.yml的

# SQLite version 3.x 
# gem install sqlite3 
development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: sqlite3 
    database: db/production.sqlite3 
    pool: 5 
    timeout: 5000 

UPDATE:

我试着重新启动计算机并重拍从头开始我的应用程序,仍然得到错误。禁用Windows防火墙/ Comodo防火墙并再次尝试,仍然失败。我做了一次系统还原,但这也不起作用。

以下是完整rake db:seedhttps://gist.github.com/1375566


解决:

我有另一个应用程序我跑rake db:seed和它的工作正常,从而通过clyfe接受的答案指出,太阳黑子是问题。我再次把我的申请,并停在加入太阳黑子突然我得到了错误:

rake db:seed 
(in C:/testagain) 
Deleting database now... 
rake aborted! 
undefined method `searchable' for #<Class:0x52cdca0> 

这意味着耙正在读我的UserPrice模型里面我的代码与太阳黑子处理:

class UserPrice < ActiveRecord::Base 
    # Sunspot and Websolr configuration. 
    #searchable do 
    # text :product_name do 
    # product.name 
    # end 
# end 
end 

我评论了这一点,并能够正确种子。然后,我继续按以下顺序使用这些命令尝试使用太阳黑子:

rails g sunspot_rails:install 
rake sunspot:solr:start (also un-comment model) 
rake sunspot:reindex 
rails server 
rake db:seed 

一切正常,因为它应该。

+1

你的数据库配置文件是什么样子的?如果在开发sqlite3和mysql之间发生冲突,我会感到惊讶。 –

+0

@DaveNewton我把文件放在我的Edit:部分。 – LearningRoR

+0

rails将只连接database.yml中的数据库适配器。 – 2011-11-18 03:18:08

您正在使用Sunspot用于索引和搜索,因为我从你的要点看https://gist.github.com/1375566
确保您播种前Solr的服务器已启动。

发生什么事是:

  • 当模特节省
  • 它试图将数据发送到Solr的服务器索引
  • 它不能连接

可能问题:

  • Solr的服务器未启动
  • 太阳黑子Solr的连接不/config/sunspot.yml
  • 它的防火墙阻止

如果您尚未开始Solr的服务器实例的端口corectly配置,你可以用下面的rake命令启动Sunspot捆绑的Solr服务器:

rake sunspot:solr:start 
+0

谢谢,在玩了一段时间后,能够让所有的东西都能正常工作。毕竟这是太阳黑子。 – LearningRoR

在MySQL配置中注释掉my.cnf中的skip-networking。

+0

my.cnf?我在哪里可以找到这个文件?我在Rails应用程序中看不到它。 – LearningRoR

+1

@JustinRoR:不,你没有my.cnf,因为你使用的是sqlite。 – 2011-11-18 03:16:54

+0

@xxd谢谢你的澄清,我不知道他在说什么。 – LearningRoR

我不认为这是因为mysql,我认为这是您尝试访问的端口上的防火墙问题。您可以通过停止服务或使用mysql工作台来停止该计算机上的服务器进行测试。我怀疑这会解决这个问题,因为防火墙可能会造成干扰。

+0

这是什么服务?我正在使用Sqlite3,MySQL Workbench已被删除。 – LearningRoR

+0

但是你有安装Mysql或从一个压缩目录? – r0ast3d

+0

我也摆脱了MySQL 5.5服务器。现在Sqlite3从sqlite.exe运行,如果这就是你的意思。 – LearningRoR