尝试使用Rails创建数据库时出错,rake db:create

时间:2009-09-16 11:22:08

标签: ruby-on-rails

我正在使用Ruby1.9和Rails 2.3.4,我安装了mysql-ruby(2.8.1)gem。

当我尝试rake db:create我得到以下

  

无法为其创建数据库   { “适配器”=> “中的MySQL”,   “数据库”=> “中war_development”,   “username”=>“root”,“password”=> nil,   “host”=>“localhost”},charset:utf8,   整理:utf8_unicode_ci(如果你设置   手动的字符集,请确保你   有匹配的校对)

我的database.yml有以下用于开发

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

任何想法出了什么问题?

谢谢,

5 个答案:

答案 0 :(得分:6)

您是否可以使用没有密码的root用户? mysqlserver是在侦听127.0.0.1还是localhost?

答案 1 :(得分:4)

奇怪看到一些行为发生了变化,我不知道它是否特定于雪豹。我使用老虎并得到了同样的错误。我添加了

  host: 127.0.0.1

以下(当前使用正确的mysql root / pw)

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: blog_development
  pool: 5
  username: root
  password: *********
  socket: /tmp/mysqld.sock

它有效(在tiger / gem mysql-2.8.1 / mysql Ver 14.14 Distrib 5.1.30上)。希望它有所帮助。

答案 2 :(得分:0)

我按照另一个SO thread中的步骤操作。但是,我的安装命令与那里的命令不同,因为我没有升级现有的数据库,而是安装新的数据库。所以不是建议一个

$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

我输入了以下内容

$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql

PS:host:localhost保持不变,无需更改为127.0.0.1

答案 3 :(得分:0)

$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql

适合我。谢谢!

答案 4 :(得分:0)

您将检查您的用户名和密码是否正确。 您还将检查您的mysql服务器是否正常工作。 还有一段时间发现套接字路径的问题大部分时间都在/ tmp目录内,但有时它可能不是。所以尝试使用默认路径。

希望你能尝试这个,它会对你有用。