Immer "Access denied for user 'root'@'localhost' (using password: NO)" im Produktions-Modus und keine Fehler bekommen angemeldet
Verwendete ich meine Rails-app, und bin immer 500 Fehler auf allen Seiten. Meine Produktion.melden Sie sich nicht mit etwas (ein problem), aber ich habe ein "script/console Produktion" und versucht, führen Sie eine einfache Abfrage (User.finden :ersten), und es wirft dies:
Access denied for user 'root'@'localhost' (using password: NO)
Meiner Datenbank.yml-Datei hat definitiv ein Passwort und es ist richtig.
So, dass plus keine Fehler protokolliert, um meine Produktion.log-Datei ist, die mich Fragen, was Los ist.
Irgendwelche Ideen, wo würde ich anfangen zu suchen oder was könnte das Problem sein?
Auch, für was es Wert ist, ich bin mit Passagier auf Apache.
UPDATE: Hier ist meine Datenbank.yml-Datei Inhalt
development:
adapter: mysql
encoding: utf8
database: website_development
username: root
password: secretz
socket: /tmp/mysql.sock
test:
adapter: mysql
encoding: utf8
database: website_test
username: root
password: secretz
socket: /tmp/mysql.sock
production:
adapter: mysql
encoding: utf8
database: website_production
username: ttp_mysql
password: secretz
socket: /var/run/mysqld/mysqld.sock
NEUES UPDATE: änderte ich den mysql-Benutzer, so war es nicht im root, aber jetzt bin ich noch immer "Access denied for 'root'@'localhost'" bit...obwohl im Produktions-Modus sollte es nicht laufen, als 'root' an alle.
Wirklich jetzt echt verwirrt.
- Gelöscht meine Antwort, aber ich werde noch einmal wiederholen, meine erste Frage: irgendeinem Grund sind Sie die Protokollierung in die Datenbank root und nicht die Schaffung einer mehr-Benutzer mit eingeschränkter Berechtigung für Ihre Anwendung?
- Wahrscheinlich sollte das ändern. Schauen es, nachdem ich meine Anwendung funktioniert wieder. 🙂
- Sie sind wahrscheinlich mit einer config-Datei und ändern die andere. Versuchen Sie, herauszufinden, welche config-Datei verwendet wird.
- Ähm...ich war nicht bewusst, dass es wurden mehrere config-Dateien für die Datenbank und sicherlich nicht bewusst, wie zu ändern, um eine andere Konfigurationsdatei zu verwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also ich fand das Problem. Ich hatte einige Dateien auf mein /Ordner Modelle für die dabei einige Datenbank-Migration von einer alten Datenbank.
In diesen Dateien hatte ich "ActiveRecord::Base.establish_connection" die Verbindung zu der Datenbank und irgendwie waren diese überschreiben, was in meiner Datenbank.yml-Datei (obwohl ich nicht aufrufen werden diese Dateien direkt).
Entweder Weg...entfernen diese das Problem gelöst.
Dank für die Zeit nehmen, um zu versuchen, um dies herauszufinden!
Die Tatsache, dass es versucht, die
root
Konto, gepaart mit der Tatsache, dass Sie nicht sehen, etwas in Ihremproduction.log
Datei scheint zu suggerieren, dass die Anwendung nicht ausgeführt wird, in Produktion - Modus.Einfach überprüfen, ob dies wahr ist oder nicht, versuchen Sie die folgende Zeile hinzufügen, um der Umwelt.rb-Datei (in der Nähe der Spitze), die app starten, und sehen, ob Sie noch immer den gleichen Fehler:
Hinweis: aus offensichtlichen Gründen ist dies nicht guten Praxis, so dass selbst wenn das funktioniert, schlage ich vor, herauszufinden, die Ursache zu finden und entfernen Sie diese Zeile aus der Datei. Jedoch, zu sehen, wie Sie sehen, Probleme auf Ihrem Produktionsserver, ich hoffe diese Antwort erhalten zumindest Sie (zurück) laufen, während Sie weiterhin zu diagnostizieren warum es war nicht in der Produktion laufen Modus in den ersten Platz.
Ich hatte das gleiche Problem und erkannte, dass ich hatte nicht neu gestartet, meine rails-server. Probieren.
Hatte ich selbiges Problem auch. Ich Schloss alle terminals neu gestartet und die server. Es funktioniert!