不能种子数据库; 因为拒绝连接而无法工作?
当我尝试播种我的应用程序时,我收到错误:
无法建立连接,因为 – 目标机器主动拒绝它。 – 连接(2)
我相信原因是因为我遇到了mysql2的问题,所以我将它与MySQL 5.5服务器一起卸载,然后切换到sqlite3。 我认为mysql2的服务器在后台运行,所以这可能是问题所在。 我该如何解决这个问题? 我如何关闭Mysql2本地主机服务器或导致此问题的服务器?
我在Windows 7 64位上运行。
Rails 3.0.9 SQLite3 1.3.4
谢谢。
注意:我可以迁移并丢弃。
编辑:
配置/ 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
更新:
我尝试重新启动PC并从头开始重新构建我的应用程序,仍然得到错误。 已禁用Windows防火墙/ Comodo防火墙并再次尝试,仍然失败。 我做了系统还原,但这也没有用。
这是完整的rake db:seed
: https : //gist.github.com/1375566
解决了:
我有另一个应用程序我运行rake db:seed
in并且它正常工作,因此clyfe接受的答案指出,太阳黑子是问题。 我再次把我的应用程序放在一起并停止添加太阳黑子突然间我得到了错误:
rake db:seed (in C:/testagain) Deleting database now... rake aborted! undefined method `searchable' for #
这意味着rake正在阅读处理Sunspot的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
一切都按预期工作。
您正在使用太阳黑子进行索引和搜索,正如我从您的要点中看到的那样https://gist.github.com/1375566
在种子之前确保Solr服务器已启动。
会发生什么:
- 当模型保存时
- 它尝试将数据发送到Solr服务器以进行索引
- 但它无法连接
可能的问题:
- Solr服务器未启动
- 未在
/config/sunspot.yml
配置Sunspot Solr连接 - 它被防火墙阻止的端口
如果您尚未启动Solr服务器实例,则可以使用以下rake命令启动Sunspot捆绑的Solr服务器:
rake sunspot:solr:start
我不认为这是因为mysql,我认为这是您尝试访问的端口上的防火墙问题。 您可以通过停止服务或使用mysql工作台来停止该计算机上的服务器进行测试。 我怀疑这会解决问题,因为防火墙可能会干扰。
在MySQL配置中注释my.cnf中的跳过网络。