1

我是 RoR 的新手,尽管他们警告我不要使用 OSX 来设置我的应用程序(因为这些问题),但我在这里。运行 OS X 10.82,我尝试了一切以成功捆绑所有软件包并保持一切一致,即 Homebrew、RVM、gem 更新、捆绑程序等

我的问题似乎专门针对 MySQL 和 mysql2。我用 Rails 应用程序不运行 mysql 尝试了一些其他的东西,从来没有遇到过任何这些问题。

/.rvm/gems/ruby-2.0.0-p0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': 拒绝用户 'root'@'localhost' 访问(使用密码:否)(Mysql2::Error)

我确实可以访问mysql -u root -p

这与安装过程中做或不做有关:“sudo commands”吗?

  • 红宝石 2.0.0p0 [x86_64-darwin12.2.0]
  • 导轨 3.2.13
  • mysql Ver 14.14 Distrib 5.6.10,适用于 osx10.8 (x86_64)
4

1 回答 1

0

此后,我输入了应用程序特定的 database.yml 文件,该文件默认配置为使用 MySQL root 用户,但未分配密码。

- 这是 DATABASE.YML 的样子

  • mysql。建议使用 4.1 和 5.0 版本。

  • 安装MYSQL驱动

  • 宝石安装mysql2

  • 确保在您的 Gemfile 中定义了 MySQL gem

-#宝石'mysql2'

-#

-# 并确保使用新式密码散列:

-# http://dev.mysql.com/doc/refman/5.0/en/old-client.html

发展:

适配器:mysql2

编码:utf8

重新连接:假

数据库:simple_cms

游泳池:5

用户名:root

密码:addmypasswordhere(请不要对空格敏感。“密码:”后只能有一个空格

套接字:/tmp/mysql.sock

我不确定这是否完全解决了问题,因为对我来说它修复了这个错误,但现在我看到了其他人:

现在,当我执行 $ rails generate (这应该只是一个帮助菜单)时,我得到以下信息(这可能是它自己的问题):

/.rvm/gems/ruby-1.9.3-p392/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': 未知数据库 'simple_cms_development' (Mysql2::Error)

更新:

一般来说,我使用 Lynda.com 教程做这个 simple_cms。关键是,似乎在 2010 年(制作教程时)您可以使用命令 $ rails generate 而无需创建或配置数据库。我之所以这么说是因为一旦我按照教程进行操作(在忽略了我遇到的问题之后)。本教程将指导您创建上述 simple_cms_development 数据库并在 database.yml 文件中设置用户和密码信息。

完成后,我可以运行 $ rails generate 命令,甚至可以毫无问题地创建迁移。

因此,在经历了很多麻烦之后,在我看来,这一切都与在调用我讨论过的 rails 命令之前设置开发数据库的明显“新要求”有关,因为它会调用该数据库,这会给你和错误即使您只是创建一个不需要数据库准备好的控制器。我认为这是教程所做的假设。

如果您对此问题有任何其他意见,请告诉我。

于 2013-04-13T18:26:15.357 回答