【问题标题】:rake db:create - collation issuesrake db:create - 整理问题
【发布时间】:2010-11-24 17:27:25
【问题描述】:
kratos-iii:railsproj zachinglis$ rake db:create
(in /Users/zachinglis/Sites/rails/railsproj)
Couldn't create database for {"adapter"=>"mysql", "host"=>"localhost", "username"=>"root", "password"=>nil, "database"=>"railsproj_development"}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation)

我在使用 Sequel Pro 甚至创建上述数据库时都没有遇到任何问题。

我该如何解决这个问题? 拥有一个空密码从来没有给我带来问题。我真的怀疑就是这样。

【问题讨论】:

  • 究竟想知道什么?请写一个真正的问题!
  • 您的密码为空可能是问题所在,但谁知道这样一个模糊的“问题”?我建议在某处用问号重新开始问题,以便人们知道问题的实际点是什么。

标签: mysql ruby-on-rails ruby osx-snow-leopard collation


【解决方案1】:

使用 RVM?为 Rails v 2.3 执行此操作

export ARCHFLAGS="-arch x86_64" ; gem install --no-rdoc --no-ri mysql -v 2.7 -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/mysql/bin/mysql_config

【讨论】:

    【解决方案2】:

    我和你有同样的问题,我和我的朋友都因此而发疯,直到我们找到这个链接http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard

    我刚刚按照 mysql 安装步骤进行操作,在这里效果很好:]

    【讨论】:

      【解决方案3】:

      使用此命令重新安装 mysql-server 和 mysql-client:

      sudo apt-get install mysql-server mysql-client
      

      然后您需要安装一些库以使 MySQL 可用于 ruby​​:

      sudo apt-get install libmysql-ruby
      

      这一切都解决了我的问题。试试吧 !!! :)

      【讨论】:

        【解决方案4】:

        在将新的数据库服务器 MySQL5.0 安装到 5.1 后,我也遇到了同样的问题。 如果您安装了新的 db-server,则您的 mysql gem 库不适合您的数据库服务器。 您可以通过重新安装 mysql gem lib 来解决此问题。

         sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/your/mysql_config
        

        【讨论】:

          【解决方案5】:

          这是一个很好的参考。我得到了如果通过这个修复 http://www.ultrasaurus.com/sarahblog/2008/12/getting-started-with-rails-2-day-1/

          【讨论】:

            【解决方案6】:

            我刚刚在安装新的 Snow Leopard 时也遇到了这种情况。

            我有另一个项目可以毫无问题地创建数据库,但我的主要项目会出现您描述的错误。在四处寻找之后,唯一的区别是前者指定了一个套接字,而失败的项目(以及你的项目)使用了一个主机。

            也就是说,这个database.yml导致了问题:

            development:
              adapter: mysql
              database: fanvsfan_development
              username: root
              password:
              host: localhost
            

            但这有效:

            development:
              adapter: mysql
              database: fanvsfan_development
              username: root
              password:
              socket: /tmp/mysql.sock
            

            我不确定实际的区别是什么,但这似乎是一种解决方法。

            【讨论】:

              【解决方案7】:

              数据库是否已经存在? MySQL 是否已设置并正在运行?发生了什么变化? (操作系统升级可能)?新的 Rails 应用程序有用吗?您的其他环境(测试、生产)呢?

              有回溯吗?您可以发布(使用 rake --trace db:create)。通常 MySQL 会返回一个非常明确的错误消息,rake 只是在吃它。

              【讨论】:

              • 数据库存在,可以访问MySQL。我创建了数据库作为测试并创建了一个表。我在 Snow Leopard 上开始了 FRESH。所有环境都同样失败。回溯:** 调用 db:create (first_time) ** 调用 db:load_config (first_time) ** 调用 rails_env (first_time) ** 执行 rails_env ** 执行 db:load_config ** 执行 db:create 无法为 { "adapter"=>"mysql", "host"=>"localhost", "username"=>"root", "password"=>nil, "database"=>"railsproj_development"}, charset: utf8, collat​​ion: utf8_general_ci(如果您手动设置字符集,请确保您有匹配的排序规则)
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-03-06
              • 2011-11-05
              • 2017-11-12
              相关资源
              最近更新 更多