Ich bin ein wenig ratlos hier. Ich habe eine Datenbank erstellt und hatte keine Probleme mit der Datenbank depot_production. Doch in der letzten Zeit, wenn ich Rake Test ausführen, bekomme ich ein paar Fehler wieMysql2 :: Fehler: Zugriff verweigert für Benutzer 'test' @ 'localhost' zu Datenbank 'depot_test'
# Running tests:
EEEEEEEE
Finished tests in 0.031499s, 253.9763 tests/s, 0.0000 assertions/s.
1) Error:
test_should_create_product(ProductsControllerTest):
Mysql2::Error: Access denied for user 'test'@'localhost' to database 'depot_test'
Das Seltsame ist, ich glaube, meine database.yml Datei ist in Ordnung. Und jedes Mal, wenn ich db: migrate starte, bekomme ich einfach eine leere Zeile zurück. Ich fügte auch einen Benutzertest hinzu, aber ich denke, dass es nur meiner Entwicklungsdatenbank hinzugefügt wurde. Ich denke, meine Test-und Produktions-und Datenbanken gibt es nicht ...
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: depot_development
pool: 5
username: root
password: admin
socket: /tmp/mysql.sock
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: depot_test
pool: 5
username: test
password: testy
socket: /tmp/mysql.sock
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: depot_production
pool: 5
username: prod
password: mypassword
socket: /tmp/mysql.sock
Jeder Rat würde uns freuen, danke.
Danke, dass Sie hier bei mir bleiben. Ich fühle mich wie nahe, aber etwas ist seltsam. Hier ist was ich getan habe.
mysql> use depot_test;
ERROR 1049 (42000): Unknown database 'depot_test'
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| depot_development |
| development |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.01 sec)
mysql> use depot_test
ERROR 1049 (42000): Unknown database 'depot_test'
mysql> use test
Database changed
mysql> GRANT SELECT, INSERT, DELETE ON `test` TO [email protected]'localhost' IDENTIFIED BY 'testy';
ERROR 1146 (42S02): Table 'test.test' doesn't exist
mysql> GRANT SELECT, INSERT, DELETE ON `depot_test` TO [email protected]'localhost' IDENTIFIED BY 'testy';
ERROR 1146 (42S02): Table 'test.depot_test' doesn't exist
Sie müssen Berechtigungen für den Benutzer "test" erteilen, um "depot_test" zu ändern – 1337holiday