Ruby On Rails数据库错误,在生产中拒绝用户访问(使用密码:否),而不是root

时间:2016-02-17 19:53:37

标签: mysql ruby-on-rails rake

编辑:有人建议此帖子与其他帖子重复。请注意,其他帖子的大线索是该帖子的作者收到一条错误消息,说" root"我试图访问数据库。这不是我面临的问题。我在错误消息中有正确的用户。

只需安装其他开发人员一直致力于的Rails 4.2应用程序。

数据库是MySQL。

数据库依赖于VIEWS,它被锁定到用户" nibble_prod"。用户" nibble_prod"指我们在生产中使用的用户。

我们没有很好的设置脚本,所以我手动在我的机器上创建了一个用户:

创建用户' nibble_prod' @' localhost'通过&#39 ;;

来识别

授予所有特权*。 * TO' nibble_prod' @' localhost';

然后我编辑了:

  ~/.bashrc
  source ~/.bashrc

如果我:

  printenv

我明白了:

  PRODUCTION_DATABASE_PASSWORD=something

  /config/database.yml

我有:

  production:
    <<: *default
    database: orim
    username: nibble_prod
    password: <%= ENV['PRODUCTION_DATABASE_PASSWORD'] %>

但是,如果我这样做:

   rake db:structure:dump RAILS_ENV=production

我明白了:

  /vagrant/vendor/bundle/ruby/2.1.0/gems/mysql2-0.3.19/lib/mysql2/client.rb:70:in `connect': Access denied for user 'nibble_prod'@'localhost' (using password: NO) (Mysql2::Error)

为什么不使用密码?

0 个答案:

没有答案