2011-11-10 19 views
0

當我使用mysql db運行rails時出現此錯誤。基本上它沒有給予root用戶訪問權限。我不知道這是爲什麼,並且一直堅持這一段時間。Rails項目MySQL數據庫連接錯誤 - 拒絕root用戶訪問

Mysql2::Error (Access denied for user 'root'@'localhost' (using password: YES)): 
Rendered /Users/USER/.rvm/gems/ruby-1.9.2-p290/gems/actionpack- 3.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.3ms) 
Rendered /Users/USER/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (5.7ms) 
Rendered /Users/USER/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (17.7ms) 

我的Database.yml文件張貼在下面供您參考。我不知道我如何檢查MYSQL自動分配的密碼?這是我的電腦登錄密碼嗎?無論如何,我如何檢查它。另外我不能簡單地在我的命令行鍵入mysql,我必須輸入整個路徑才能訪問它。我如何改變它。最重要的是,我想知道如何解決這個訪問被拒絕的問題。謝謝。在mac上使用mysql 5.5。 x86_64構建。

# And be sure to use new-style password hashing: 
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html 
development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: project1_db 
    pool: 5 
    user : root 
    username: root 
    password: password 
    host: localhost 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: project1_db 
    pool: 5 
    user : root 
    username: root 
    password: password 
    host: localhost 

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: project1_db 
    pool: 5 
    user : root 
    username: root 
    password: password 
    host: localhost 

回答

1

Mysql使用您在安裝時設置的那個。有時候它是空的。 試試mysql -u root。如果它工作 - 刪除傳遞字符串表單數據庫yaml。 如果它不是空的 - https://stackoverflow.com/search?q=mysql+reset+password

+0

我認爲我的問題是沒有爲我的根設置密碼。然後我將它設置爲我的yaml文件上的一個,現在它的工作正常。 – CodeGeek123

相關問題