如何将Rails与MySQL连接?

时间:2014-01-21 17:16:52

标签: mysql ruby ruby-on-rails-3 ruby-on-rails-4

我正确运行了以下内容:

  1. rails new simple
  2. rails server(工作)
  3. rails generate controller demo index
  4. mysql -u root -p并创建数据库并在数据库上分配GRANT PRIVILIGES。
  5. 现在的问题是,我在MAC 10.7上使用了Bitnami-RubyStack软件包。当我想运行rake db:schema:dump时,我收到此错误:

    bash-3.2$ rake db:schema:dump
    rake aborted!
    Access denied for user 'root'@'localhost' (using password: YES)
    /Applications/rubystack-1.9.3-18/simple/config/environment.rb:5:in `<top (required)>'
    Tasks: TOP => db:schema:dump => environment
    (See full trace by running task with --trace)
    

    即使我运行GRANT PRIVILEGES。

    我还检查了DB.yml上的用户名和密码:

    development:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: simple_development
      pool: 5
      username: root
      password: something
      socket: /tmp/mysql.sock
      host: 127.0.0.1
    

1 个答案:

答案 0 :(得分:0)

在您的数据库配置

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_development
  pool: 5
  username: root
  password: something
  socket: /tmp/mysql.sock
  host: 127.0.0.1

你应该使用套接字或主机,而不是两者。由于套接字适用于您(mysql -u root -p有效),请尝试将其与您的应用一起使用。如果存在任何权限问题或诸如此类的问题,则必须在root@127.0.0.1控制台中创建mysql并使用host参数。