如何解决Mysql2 ::错误:拒绝用户'test'@'localhost'访问数据库'depot_test'
MysqL -u root -p
CREATE DATABASE depot_test
CREATE USER 'test'@'localhost' IDENTIFIED BY 'mypass123';
USE depot_test
登录到MysqL后,向用户授予特权test
(记住要更改密码)
GRANT ALL privileges on depot_test.* to test@localhost identified by 'mypass123';
FLUSH PRIVILEGES;
您将需要在数据库.yml中将通行证更改为“ mypass123”
解决方法
我在这里有点难过。我已经创建了一个数据库,并且使用depot_production数据库没有任何问题。但是,最近每当进行rake测试时,我都会收到很多错误,例如
# 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'
奇怪的是,我认为我的database.yml文件很好。每次我运行db:migrate时,我都会得到一个空行。我还添加了一个用户测试,但我认为仅将其添加到我的开发数据库中。我认为我的测试,生产和数据库不存在…
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
任何建议,将不胜感激,谢谢。
感谢您在这里陪伴我。我感觉自己很近,但是有些奇怪。这是我所做的。
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 test@'localhost' IDENTIFIED BY 'testy';
ERROR 1146 (42S02): Table 'test.test' doesn't exist
mysql> GRANT SELECT,DELETE ON `depot_test` TO test@'localhost' IDENTIFIED BY 'testy';
ERROR 1146 (42S02): Table 'test.depot_test' doesn't exist
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。