2014-02-12 7 views
7

Ich bin etwas neu bei Rails, und ein großer Teil meiner Erfahrung beinhaltet mich herauszufinden, wie das Problem zu lösen, also entschuldige ich mich im Voraus wenn ich eine verpasste und offensichtliche Lösung habe. Ich betreibe eine Windows-Maschine.Rails und Mysql2 Zugriff verweigert für Benutzer 'root' @ 'localhost' (mit Passwort: NEIN)

Ich erstelle eine Anmeldung und Registrierung mit mysql2. Das MySQL-Installationsprogramm wurde bereits verwendet, um den Server, die Workbench usw. zu installieren (ich habe das root-Passwort als Passwort konfiguriert) und ich habe bereits das mysql2-Juwel installiert.

Die Schienen wurde erfolgreich gebündelt, aber als ich rake db:create eingab, trat der Fehler Access denied for user 'root'@'localhost' (using password: NO) auf.

Rails dann aufgefordert, mich für mein Passwort, ich habe es eingegeben, aber der Fehler ist erneut aufgetreten. Nachdem ich mein Passwort das zweite Mal eingegeben hatte, schien es, als ob es gut funktionierte, bis ich versuchte, eine rails db:migrate zu machen, in der der Fehler wieder auftrat, was es nicht möglich machte, zu migrieren.

Das verwirrt mich, weil ich in der MySQL-Abfrage mein Passwort als das gleiche eingegeben habe, das ich eingegeben habe. Ich habe versucht, dem Benutzer 'root' alle Schema-Privilegien zu geben, aber das machte keinen Unterschied. Bitte sagen Sie mir, wie Sie dieses Problem lösen und danken Ihnen.

Wenn Sie irgendwelche Fragen zu meiner Frage haben, fragen Sie bitte.

Antwort

6

scheint, wie Ihre Benutzer auf die mysql DB keine Verbindung herstellen können, versuchen Sie dies in Ihrer Konsole Befehle

mysql -u root -p 

und wenn das Passwort als ‚admin‘ aufgefordert

wenn dies geben kann, dann sollten Sie sein gute

Und Sie Datenbank yml Datei sollte gehen wie

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

Danke, das auf der Fest der Migration schien aber jetzt änderte ich die Routen zu 'Login Datei :: Application.routes.draw tun Ressourcen: Benutzer get‚/ Register‘ root‚Benutzer # index'' und wenn Ich habe "Schienen s", ein großer Fehler aufgetreten – spongezh22

+0

Bitte teilen Sie den Fehler im Detail. –

+0

Der Fehler ist zu groß für die Kommentargröße, aber ich habe versucht, alles neu zu installieren und als ich ein neues Programm mit mysql erstellt und 'rails s' gemacht habe, zeigt der Browser Mysql2 :: Error Access für den Benutzer 'root' @ 'localhost' (mit Passwort: NO) Rails.root: C:/Sites/Rails_Projects/Praxis. Ich würde annehmen, dass ich etwas in der Mysql-Werkbank vermisst habe, aber ich bin mir nicht sicher, was es sein könnte. @Bharatsoni – spongezh22

0

Ich habe das obige (unten) einfach kopiert und in meine Rails-YML-Datei eingefügt und es hat funktioniert !!

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

für mich

half
$ mysql -u root -p 

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

und in databse.yml

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

dank @ spongezh22

+0

Das gleiche Problem, wenn Ihr Passwort mit der beginnt! Charakter. –

0

Rake in der Tat versuchen auch Ihre test Datenbank zu erstellen, das ist Warum erhalten Sie die Fehlermeldung, wenn Sie Ihre test Databas nicht richtig einstellen e-Anmeldeinformationen wie (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

Dies war eine der wenigen Gelegenheiten, bei denen ich den Schienen Server neu starten musste, nachdem ich Änderungen an der database.yml Datei vorgenommen. Nachdem ich das Passwort in der Datei eingegeben hatte, musste ich den Rails Server neu starten. Danach ging der Fehler weg.

Verwandte Themen