2016-01-23 43 views
0

我安裝一些舊的應用程序建立的Rails 4.0.0和1.9.3的紅寶石寶石。一切正常的話,但是當我去軌控制檯,並嘗試例如寫道:用戶,獲得數據庫表它給我的錯誤:Rails的MySQL的使用密碼無法連接是

Mysql2::Error: Access denied for user 'root'@'localhost' (using password: YES) 

有趣的是,當我這樣做:

sudo /etc/init.d/mysql stop 

它說數據庫已停止,但仍應用工作:)

有誰能告訴到底是怎麼回事?

+0

可以從mysql客戶端使用此參數連接 - #mysql的-h本地主機ü根 - P - 如果不是根本不允許從本地主機登錄。更改您的撥款 –

+0

是的,我可以登錄到mysql那樣 – Wordica

回答

0

好 - 如果數據庫會告訴你它停下來,和你的應用仍在工作,我能想到的3個可能的原因。

  1. 數據庫仍在運行,並且你已經騙了

  2. 的應用程序並不需要一個數據庫來使用數據庫,你讓

  3. 該應用程序的請求作出迴應別處。

我能想到的最明顯的方式,它有一個看的config/database.yml中,那裏你可以看到你的應用程序被連接到什麼數據庫和用戶名/密碼。如果它不是你停下來的那個 - 那你的答案就是。

如果你已經停止了一眼,你可以試試:

netstat -an | grep -i mysql 

看到與某些PS -ef和殺敵必須要拿下來(我有點殘酷) 。

否則,它實際上可能沒有使用數據庫來爲您想要的信息。如果信息在控制器和視圖中被硬編碼 - 它會爲你提供很好的服務。

+0

unix 2 [ACC] STREAM LISTENING 2868095271 /var/run/mysqld/mysqld.sock unix 3 [] STREAM CONNECTED 2868104433 /var/run/mysqld/mysqld.sock UNIX 3] STREAM連2868097284的/ var /運行/ mysqld的/我 – Wordica

+0

database.yml的是好的,我可以使用的應用程序,創建新的用戶等,但我就是不能用軌道控制檯,例如耙網站地圖:創建網站地圖寶石...我也可以登錄,使用phpmyadmin ... – Wordica

+1

好吧,也許鐵軌環境沒有設置?例如。 rails console development – Tim