5
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 甚至创建所述数据库都没有问题。

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

4

7 回答 7

6

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

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

于 2009-09-22T04:33:13.413 回答
3

在将新的数据库服务器 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
于 2010-06-16T11:05:01.717 回答
3

Re-install mysql-server and mysql-client using this command:

sudo apt-get install mysql-server mysql-client

and then some libraries you need to install to make MySQL available to ruby:

sudo apt-get install libmysql-ruby

This all solved my problem. Try it !!! :)

于 2010-09-21T06:40:42.327 回答
1

我刚刚在新的 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

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

于 2009-10-15T13:22:26.800 回答
1

Using RVM? Do this for 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
于 2011-06-20T04:29:08.733 回答
0

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

于 2009-11-26T10:22:04.227 回答
-1

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

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

于 2009-09-02T04:37:44.717 回答