Nach dem Ausführen von "Rails" trat beim Betrachten des Browsers der folgende Fehler auf: ↓
Mysql2::Error::ConnectionError Access denied for user 'root'@'localhost' (using password: NO)
Zusamenfassend, Ich kann nicht darauf zugreifen, weil ich kein Passwort habe! darüber.
Es gibt zwei Möglichkeiten, um den Fehler zu beheben.
Bei der individuellen Entwicklung ist 1 in Ordnung, aber bei der Entwicklung als Team muss das Team dasselbe Passwort verwenden, was ein wenig problematisch ist. Daher werden wir dieses Mal auf 2 eingehen. Ich werde auch kurz 1 beschreiben.
database.yml
default: &default
adapter: mysql2
encoding: utf8mb4
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: #Schreiben Sie hier Ihr Passwort
socket: /tmp/mysql.sock
Die einfachste Lösung besteht darin, das Passwort im obigen Abschnitt zu schreiben. Wenn Sie es jedoch auf ein Versionsverwaltungssystem wie GitHub übertragen, wird das Kennwort verfügbar gemacht. Sie müssen das Kennwort also in der ENV-Datei verwalten und in Gitignore schreiben.
Starten Sie MySQL.
$ mysql.server start
Melden Sie sich bei MySQL an.
$ mysql -u root -p
Enter password: #Geben Sie die aktuelle PW ein
Wählen Sie die Datenbank aus, die Sie verwenden möchten.
mysql> use mysql;
Leeren Sie das Passwort. Beachten Sie, dass in MySQL 5.7.6 der Name der Kennwortspalte von Kennwort in Authentifizierungszeichenfolge geändert wurde.
mysql> update user set authentication_string='' where user='root';
Wenn der obige Code funktioniert, sehen Sie, dass Sie die Änderung vorgenommen haben.
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Schließen Sie MySQL, wenn die Änderungen erfolgreich sind.
mysql> exit
Stoppen Sie MySQL einmal, damit die Änderungen wirksam werden.
$ mysql.server stop
Starten Sie es erneut. Ich denke, es ist in Ordnung, neu zu starten, ohne anzuhalten.
$ mysql.server start
Und stellen Sie sicher, dass Sie sich ohne Passwort anmelden können.
$ mysql -u root
Schließen Sie nach dem Anmelden MySQL erneut und starten Sie den Server.
$ rails s
Und wenn ich den Browser öffne ...
Der Fehler wurde erfolgreich behoben. Danke für deine harte Arbeit!
Recommended Posts