【问题标题】:How to install mysql on a new machine for an old app?如何在新机器上为旧应用安装 mysql?
【发布时间】:2010-10-21 02:23:07
【问题描述】:

不知道该怎么做。

我的应用程序的database.yml

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: application-dev
  pool: 5
  username: root
  password: angles123
  socket: /tmp/mysql.sock

我在想,继续mysqladmin -u root --password=angles123,然后进入create database application-dev,但-dev 部分,mysql 对此并不满意。但是我可以创建一个简单地说application的数据库。

我可能错过了什么吗?

我之所以提出这个问题是因为每当我尝试 rake db:migrate 或 script/server 时都会收到此错误

rake db:test:prepare
(in /Users/macuser/Sites/hq_channel)
rake aborted!
uninitialized constant Geocode

所以我假设我设置了错误的数据库,因为我显然安装了那个 gem。

这是完整的堆栈跟踪:

rake aborted!
uninitialized constant Geocode
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:443:in `load_missing_constant'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in `const_missing_not_from_s3_library'
/Users/macuser/Sites/hq_channel/vendor/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:92:in `const_missing'
/Users/macuser/Sites/hq_channel/config/initializers/geocode.rb:1
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:145:in `load_without_new_constant_marking'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:145:in `load'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:145:in `load'
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:622:in `load_application_initializers'
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:621:in `each'
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:621:in `load_application_initializers'
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:176:in `process'
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
/Users/macuser/Sites/hq_channel/config/environment.rb:21
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/Users/macuser/Sites/hq_channel/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/Users/macuser/Sites/hq_channel/vendor/rails/railties/lib/tasks/misc.rake:4
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19

【问题讨论】:

  • 我打赌地理编码缺少一个库
  • @sam,我尝试重新安装地理编码,但它没有包含在我的配置文件中。 Geokit 是。两者都没有在我的应用程序中实际使用,这让我认为是否可以删除它对它的依赖?您将如何修复丢失的库?
  • 专门用于我不知道的 Geokit。但是对于某些 gem,您需要为库提供路径。你可以通过 :lib => 'path/to/lib'
  • 如config.gem 'geokit', :lib => 'path/to/geokit'
  • @sam,那条路径的根是什么?从我的应用程序,gems/geokit-1.4.1/lib/geokit

标签: mysql ruby-on-rails rubygems rake geocode


【解决方案1】:

我安装的 mysql 不允许在数据库名称中使用下划线或破折号。

您可以尝试将数据库名称更改为application,然后运行rake db:create 以查看它是否会创建您的数据库。

此外,您可以尝试使用 --trace 运行 rake,以更好地了解导致该错误的位置包含的内容。

【讨论】:

  • 嘿,我认为你是对的。当我尝试 rake db:create (in /Users/macuser/Sites/application) Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"=>"rootsies", "adapter"=>"mysql", "database"=>"application", "pool"=>5, "password"=>"angles1234", "socket"=>"/tmp/mysql.sock"}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation) 时,我得到了这个
  • 我还为 root 设置了权限,也为数据库设置了我的用户。你觉得我错过了什么?
  • 听起来像是数据库连接或权限问题。也许您没有非 root 用户的 CREATE 权限?
  • 只需在 apache 中更新我的 LoadModules,就可以让 rake db:create 工作。似乎需要升级那些 64 位计算机才能处理它。我为mysql做了拱标志。当我运行 rake db:create 时,它​​说它现在已经存在。所以这行得通。但是如果我执行rake db:migraterake db:test:preparescript/server,我仍然会收到原始地理编码错误
  • blink 更新 Apache 固定 mysql?哇。尝试删除该初始化程序(/config/initializers/geocode.rb),因为运行 rake 会加载您的应用程序,包括环境和初始化程序。
猜你喜欢
  • 2017-09-21
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多