【问题标题】:rake db:create:all failed to create development database in redminerake db:create:all 未能在 redmine 中创建开发数据库
【发布时间】:2011-10-14 06:40:03
【问题描述】:

我一直在尝试在 Redmine 中创建开发和测试数据库,使用 rake db:create:all,但我收到以下错误:

无法为 {"encoding"=>"utf8" 创建数据库, "用户名"=>"bitnami", "适配器"=>"mysql", “数据库”=>“redmine_development”,“主机”=>“本地主机”, "密码"=>"e06fad54d8", "socket"=>"/home/tudor/redmine-1.2.0-0/mysql/tmp/mysql.sock"}, charset: utf8, collat​​ion: utf8_unicode_ci (如果你设置了 charset 手动,确保你有一个匹配的排序规则)rake aborted!别 知道如何建立任务“发展”

这是我的 database.yml 文件

production:   
  adapter: mysql   
  database: bitnami_redmine   
  host: localhost   
  username: bitnami
  password: ********   
  socket: /home/tudor/redmine-1.2.0-0/mysql/tmp/mysql.sock   
  encoding: utf8

development:   
  adapter: mysql   
  database: redmine_development   
  host: localhost   
  username: bitnami   
  password: *********   
  socket: /home/tudor/redmine-1.2.0-0/mysql/tmp/mysql.sock   
  encoding: utf8

我已经检查了 mysql 是否已打开。 生产数据库是默认创建的,问题在于开发数据库。 我在阅读其他论坛时发现的一个可能的错误来源是在我的 database.yml 中使用制表符而不是两个空格,但这里不是这种情况。

测试配置:

  • Ubuntu 11.04 Redmine v. 1.2.0 Ruby v. 1.8.7 Rake v. 0.8.7 Rails v. 2.3.11

【问题讨论】:

  • 运行“mysql -u bitnami -pe06fad54d8”看看能不能登录mysql。
  • 登录 mysql 数据库有效。我一定是错过了什么。
  • 您可以尝试删除套接字引用吗?
  • 我已经从 database.yml 中删除了带有 socket: 的行,但是当我运行 rake db:create:all 时我得到了同样的错误。会不会是mysql的问题?
  • 我认为这很奇怪,我有一个和你的一样的数据库文件 - gist.github.com/1110273 并且它可以工作。

标签: ruby-on-rails ruby-on-rails-3 rubygems redmine bitnami


【解决方案1】:

确保您的用户有权在 mysql 中创建数据库,例如:

grant all on redmine_development.* to bitnami;

从 mysql 控制台应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 2013-04-17
    • 2011-07-31
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2019-04-12
    • 2016-07-14
    • 2012-04-13
    相关资源
    最近更新 更多