2017-10-20 72 views
0

大家好,我試圖用一個命令 -如何使用耙數據庫命令與密碼

rake db:migrate 

但我在終端得到這個反饋 -

rake aborted! 
Mysql2::Error: Access denied for user 'root'@'localhost' (using password: NO) 

我期待當我使用命令時有東西要求輸入密碼,比如

rake db:migrate -p 

但是這不適用於我我嘗試過各種各樣的東西把它放在耙子之前,在耙子之後,使用-u和root。

我的問題是我如何讓這個命令也提示輸入密碼,當它試圖訪問數據庫,所以它不會給我這樣的錯誤?

+0

快問題,你在什麼環境?開發?或生產? – Sean

+0

可能開發,即時通訊新的這個,所以我不太確定 – Ahurasim

回答

0

我會看看你的config/database.yml文件,以確保你的數據庫用戶名和密碼設置正確。

編輯:

我還發現這不僅有助於在database.yml文件中明文存儲密碼有用的鏈接,你將其存儲爲,然後可以使用終端訪問數據庫之前定義的變量ENV。

說明在這裏:

Securely providing the database password in a Rails app

+0

但即時通訊不希望留在該文件中的純文本密碼身份證需要加密它不知何故 – Ahurasim

+0

看看[這裏](https://stackoverflow.com/ a/7306399/5786216)在這個響應database.yml我不知道你問的是可能的。 Rails將使用database.yml文件連接到您的不同環境中的數據庫;它不應該承諾。 –

+1

@MarioNovello是正確的,使用'<%= ENV ['YOUR_VAR_HERE']%>'並將其設置在服務器中,不要提交它。在開發中只需使用你的開發憑證。 – Sean

0

轉到應用程序/配置/ database.yml的 這個文件是負責爲各種環境下的數據庫連接配置。恩。開發,生產等。

ex。

development:  

adapter: mysql2 

encoding: utf8 

database:  #database name. 

username:  # mysql user name 

password:  # mysql Password 

host :  # from where databases you asses from local or remote 

        remote you specify the remote server ip address. 

您需要正確設置密碼。

相關問題