【问题标题】:How to connect Rails with MySQL? [duplicate]如何将 Rails 与 MySQL 连接? [复制]
【发布时间】:2023-04-07 02:19:02
【问题描述】:

我有以下正确运行:

  1. rails new simple
  2. rails server(工作中)
  3. rails generate controller demo index
  4. mysql -u root -p 并创建数据库并在数据库上分配 GRANT PRIVILIGES 完成。

现在的问题是,我在我的 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

【问题讨论】:

  • 你可以通过终端通过mysql -u root -p访问吗?
  • 你的mysql用户名或密码好像不对...尝试使用终端命令登录mysql -u Username -p Password..

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


【解决方案1】:

在您的数据库配置中

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 有效),请尝试在您的应用程序中使用它。如果有任何权限问题或诸如此类的问题,您将不得不在您的mysql 控制台中创建root@127.0.0.1 并使用主机参数。

【讨论】:

  • 我花了很多时间找到了答案。我将套接字和主机都保存在我的 db.yml 文件中。但我改变了我的主机名它现在工作。非常感谢
猜你喜欢
  • 2016-05-03
  • 1970-01-01
  • 2011-05-22
  • 2014-05-30
  • 2018-09-30
  • 1970-01-01
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多