2013-06-28 61 views
2

我從我的Rails應用程序連接到數據庫時遇到問題。Rails沒有使用database.yml中提供的密碼

我有憑據提供database.yml文件:

development: &development 
    adapter: mysql2 
    encoding: utf8 
    database: myapp_dev 
    pool: 5 
    username: root 
    password: passoword 

test: 
    <<: *development 
    database: myapp_test 

production: 
    <<: *development 
    database: myapp_prod 

staging: 
    <<: *development 
    database: myapp_staging 

但是當我嘗試運行它給了我下面的錯誤應用:

Access denied for user 'root'@'localhost' (using password: NO) 

使用mysql -u root -p與我可以相同的憑證訪問我的分貝沒有問題。有人可以告訴我這裏有什麼問題嗎?

編輯:

我已經從根本改變了用戶對其他一些用戶,但它仍然給了我同樣的錯誤。所以顯然它使用一些其他的憑據來連接到數據庫。

+0

你檢查過你的mysql服務器運行良好嗎?如果你檢查它是否正在運行,那麼只要嘗試使用mysql -u root,如果你能進入mysql控制檯,那麼你的密碼沒有在mysql上設置,所以在database.yml中,你可以只使用用戶名:root沒有必要pasword –

+0

我已經指出我可以通過使用mysql客戶端的憑據連接到我的數據庫。是的,它限制無密碼訪問 – Headshota

+2

檢查在database.yml中寫入的密碼。這是一個錯字還是你的密碼是passoword? – Deepika

回答

0

嘗試下面的代碼,如果它的工作原理我們可以在database.yml中前進
評論以前所有的代碼並粘貼以下

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: myapp_dev 
    pool: 5 
    username: root 
    password: passoword 
    host: localhost 
1

我碰到了同樣的問題。事實證明,這是我的database.yml文件中的一個錯誤。這裏是我database.yml文件看起來像:

production: 
    adapter: mysql2 
    encoding: utf8 
    database: my_db 
    username: my_db_user 
    password: !strong_password 
    host: localhost 
    port: 3306 
    pool: 5 
    timeout: 5000 

在密碼開頭的!字符無效YAML標記(至少我試圖來實現)。圍繞密碼包裝報價('')可以解決問題。這裏是更新的database.yml文件:

production: 
     adapter: mysql2 
     encoding: utf8 
     database: my_db 
     username: my_db_user 
     password: '!strong_password' 
     host: localhost 
     port: 3306 
     pool: 5 
     timeout: 5000 
相關問題