编辑:有人建议此帖子与其他帖子重复。请注意,其他帖子的大线索是该帖子的作者收到一条错误消息,说" 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)
为什么不使用密码?