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

Ruby on rails 尝试使用Rails创建数据库时出错,rake db:create,ruby-on-rails,Ruby On Rails,我正在使用Ruby1.9和Rails 2.3.4,并且安装了mysql ruby(2.8.1)gem 当我尝试rakedb:create时,我得到以下结果 $ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql 无法为创建数据库 {“适配器”=>“mysql”, “数据库”=>“战争开发”, “用户名”=>“根”,“密码”=>零, “host”=>“localhost”},字符集:utf8, 排序规则:ut

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

当我尝试rakedb:create时,我得到以下结果

$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql
无法为创建数据库 {“适配器”=>“mysql”, “数据库”=>“战争开发”, “用户名”=>“根”,“密码”=>零, “host”=>“localhost”},字符集:utf8, 排序规则:utf8\U unicode\U ci(如果设置 手动设置字符集,请确保 (具有匹配的排序规则)

My database.yml具有以下开发功能

development:
  adapter: mysql
  database: war_development
  username: root
  password: 
  host: localhost
你知道怎么回事吗

谢谢


Tam

是否允许在没有密码的情况下使用root用户?mysqlserver是在127.0.0.1或localhost上侦听吗?

奇怪的是,看到某些行为发生了变化,我不知道它是否特定于雪豹。我使用tiger,得到了相同的错误。我补充说

  host: 127.0.0.1
以下内容(当然,使用正确的mysql根/pw)


它工作正常(在tiger/gemMySQL-2.8.1/mysql版本14.14发行版5.1.30上)。希望有帮助。

我在另一个项目中遵循了这些步骤。但是,我安装的命令与那里的命令不同,因为我不是升级现有的db,而是安装一个新的db。因此,与其建议一个

$ 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

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

对我有用。谢谢大家!

您将检查您的用户名和密码是否正确。 您还将检查mysql服务器是否正常工作。 还有一段时间,我们发现套接字路径的问题,大多数时候它在/tmp目录中,但有时可能不是。因此,请尝试使用默认路径


希望如果你能试试这个,它会对你有用

从错误中,我会说您数据库的字符集与您尝试执行的操作不匹配:字符集:utf8排序规则:utf8\U unicode\U ci不确定是否有方法在rails中设置查询的字符集?我使用127.0.0.1而不是localhost…这似乎有所不同。也许这更清楚:哇,对我来说正好相反:127.0.0.1不起作用,但localhost起作用