2012-02-15 52 views
12

我創建了一個新的Rails項目,我用腳手架,然後嘗試rake db:創建。 我沒有改變的config/database.yml的所以密碼爲空(我總是進入我用來登錄到localhost/phpMyAdmin的密碼,但這個時候,我忘記了)MySql錯誤1045後耙db:創建

發展: 適配器: mysql2 編碼:UTF8 重新連接:假 數據庫:test_associations_development 池:5 用戶名:root密碼 : 插座:/tmp/mysql.sock

所以,回到終端,我有FOLL由於消息:

$ rake db:create Access denied for user 'root'@'localhost' (using password: NO). Please provide the root password for your mysql installation >

>*******(I entered my password here)

$ rake db:createrake aborted! (<unknown>): couldn't parse YAML at line 31 column 2

Tasks: TOP => db:create => db:load_config (See full trace by running task with --trace)

在此之後,我無法登錄到phpMyAdmin,當我在本地運行我的應用程序我得到這個錯誤:

Mysql2 ::錯誤

訪問被拒絕的用戶 '根' @ 'localhost' 的(使用密碼:YES)

我使用的OS X 10.7.2,Rails的3.2和Ruby 1.9.3

有任何想法嗎??

回答

8

你可以嘗試使用Terminal.app來訪問MySQL。在命令行中運行:

mysql -u root 

,如果你希望root密碼爲空,但看到這一點:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

你知道密碼已被更改。

聲音像根密碼已被更改。如果您不知道它是什麼,請按照以下說明重置密碼:Resetting MySQL password

+4

問題解決了: '的mysql -u根(無需輸入密碼)' 'SET PASSWORD FOR '根' @ 'localhost' 的= PASSWORD( 'MYPASSWORD');' 謝謝! – Webspirit 2012-02-15 23:07:00

+0

在我的情況下發生了什麼事情是:有兩個密碼 - 一個用於開發數據庫和一個用於測試數據庫,我忘記更改測試數據庫的密碼,運行耙,並且它更改了我的用戶的密碼以在yml中測試密碼文件。 – rohanagarwal 2017-09-29 07:32:31

3

這個答案是on Rails框架發生了此行爲,其中以紅寶石連接

  1. 有mysql使用用戶root,密碼
  2. 引導新鋼軌與MySQL使用Project 「軌新項目名稱
    -d mysql「
  3. 不要修改配置/數據庫。陽明海運 - 服務器默認憑據名:root,密碼爲空
  4. 耙分貝:創建提示顯示出來 - 詢問root密碼,然後當你提供根密碼

答案是GRANT命令就行68 here

基本上它執行具有憑證GRANT命令符合當前的database.yml

我已經討論過這個話題和行爲會提高,它是採取和報告爲一個錯誤。使用以下命令

+0

加上+1「服務器的默認憑據名稱爲:root,密碼爲空」 – cameck 2017-02-06 21:18:49