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

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

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

无法为{“adapter”=>“mysql”创建数据库,“database”=>“war_development”,“username”=>“root”,“password”=> nil,“host”=>“localhost”} ,charset:utf8,collat​​ion:utf8_unicode_ci(如果你手动设置字符集,请确保你有匹配的排序规则)

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

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

有什么想法会出错吗?

谢谢,

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

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

  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上)。 希望能帮助到你。

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

 $ 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:主机:localhost保持不变,无需更改为127.0.0.1

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

适合我。 谢谢!

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

希望如果您尝试这个,它将适合您。