簡體   English   中英

無法耙db:在生產中遷移

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM