【发布时间】:2015-11-18 14:35:37
【问题描述】:
我在尝试运行 RAKE 任务时收到以下错误:
rake aborted!
Mysql2::Error: Access denied for user 'root'@'localhost' (using password: YES)
我的database.yml 文件如下所示:
production:
[...]
database: <some_database_name>
username: <a_non_root_user>
password: <password_for_above_non_root_user>
如你所见,冲突是:
- 我使用非root用户访问数据库,但是
- Rake 想要使用 root 用户(原因我看不到)
这是否意味着我应该在database.yml 配置中使用root 用户? (对我来说似乎违反了安全逻辑。)这里最好的解决方案是什么?
【问题讨论】:
-
您已经设置了您的生产用户,但是您在执行 rake 时是否传递了 RAILS_ENV?即 bundle exec rake db:create RAILS_ENV=production
-
@DanielLutz - 哎呀,当然是这样。请将其添加为答案,以便我接受。
标签: mysql ruby-on-rails rake