[英]Unable to rake db:migrate in production
我已經創建了一個用戶,並授予它對生產數據庫的完全訪問權限:
mysql> show grants for 'myuser'@'localhost';
+-----------------------------------------------------------------------------------------------------------------+
| Grants for myuser@localhost |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'localhost' IDENTIFIED BY PASSWORD '*xxxxxxxx' |
| GRANT ALL PRIVILEGES ON `myapp_production`.* TO 'myuser'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
但是當我耙db:migrate
,我得到:
** [out :: mydomain.com] Mysql2::Error: Access denied for user 'myuser'@'localhost' (using password: NO)
如果我將root用戶憑據輸入database.yml,那么它似乎可以工作,但是由於內部策略的原因,我無法在生產中使用root用戶。
MySQL消息具有重要的指針:
用戶'myuser'@'localhost'的訪問被拒絕(使用密碼:NO)
它告訴您,客戶端不使用密碼。 顯然,您沒有在生產數據庫的database.yml
正確配置密碼。 在此處配置正確的密碼后,該密碼將起作用。
默認情況下,rails使用生產環境,因此,如果將db更改為其他環境。
我有同樣的錯誤,這工作
bundle exec rake db:migrate RAILS_ENV=production
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.