2014-02-12 54 views
7

我對Rails有些新鮮感,而且我的許多經驗都會讓我感覺如何解決問題,所以我提前道歉如果我錯過了和明顯的解決方案。我運行一臺Windows機器。Rails和Mysql2訪問被拒絕用戶'root'@'localhost'(使用密碼:否)

我正在使用mysql2創建一個登錄和註冊。 MySQL安裝程序已經用於安裝服務器,工作臺等(我將root密碼配置爲密碼),並且我已經安裝了mysql2 gem。

導軌捆綁成功,但當我輸入rake db:create時,發生了錯誤Access denied for user 'root'@'localhost' (using password: NO)

Rails然後提示我輸入密碼,我輸入密碼,但錯誤再次發生。第二次輸入我的密碼後,它似乎一直運行正常,直到我嘗試執行rails db:migrate,其中再次出現錯誤使其無法遷移。

這讓我感到困惑,因爲在MySQL查詢中,我將我的密碼設置爲與我輸入的密碼相同。我試圖給'root'用戶所有的模式特權,但這沒有什麼區別。請告訴我如何解決這個問題,謝謝。

如果您對我的問題有任何疑問,請詢問。

回答

6

好像你的用戶無法連接到MySQL數據庫,試試這個命令在控制檯

mysql -u root -p 

,並提示給密碼爲「管理員」

時,如果可能的話,那麼你應該好去

你的數據庫文件陽明海運應該像

development: 
adapter: mysql2 
database: mydb 
host: localhost 
username: root 
password: mypass 
+0

謝謝,這似乎是固定的遷移,但現在我改變了路線文件,以'登錄:: Application.routes.draw做 資源:用戶 得到「/註冊」 根「用戶#index''當我做了'rails s',發生了一個大錯誤 – spongezh22

+0

請詳細分享這個錯誤。 –

+0

這個錯誤對於註釋大小來說太大了,但是我嘗試重新安裝所有的東西,當我用mysql創建一個新程序並且執行了'rails s'時,瀏覽器顯示Mysql2 :: Error Access拒絕用戶'root'@'localhost'(使用密碼:否)Rails.root:C:/ Sites/rails_projects/practice。我會假設我錯過了在Mysql工作臺上做的事情,但我不確定它會是什麼。 @Bharatsoni – spongezh22

0

我剛剛複製並粘貼上面(下面)到我的rails yml文件,它的工作!

development: 
adapter: mysql2 
database: mydb 
host: localhost 
username: root 
password: mypass 
15

對我幫助

$ mysql -u root -p 

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword') 

和databse.yml

development: 
adapter: mysql2 
database: mydb 
host: localhost 
username: root 
password: "mypassword" #I had an empty string here before 

感謝@ spongezh22

+0

如果你的密碼以!開頭,字符。 –

0

瑞克嘗試實際上創建您test數據庫爲好,這是如果您沒有正確設置您的test數據庫,爲什麼會收到錯誤消息像電子憑證(database.yml中)

default: &default 
    adapter: mysql2 
    encoding: utf8 
    database: atheneum 
    pool: 5 
    username: ****** 
    password: "******" 
    host: localhost 


development: 
    <<: *default 
    database: atheneum 

test: 
    <<: *default 
    database: atheneum_test 
0

這是爲數不多的場合我後,我做了修改database.yml文件,以重新啓動Rails服務器之一。在文件中設置密碼後,我必須重新啓動rails服務器。之後,錯誤消失了。

相關問題