当前位置: 首页 > 面试题库 >

Mysql2 ::错误:拒绝用户'test'@'localhost'访问数据库'depot_test'

李敏学
2023-03-14
问题内容

我在这里有点难过。我已经创建了一个数据库,并且使用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, INSERT, DELETE ON `depot_test` TO test@'localhost' IDENTIFIED BY       'testy';
ERROR 1146 (42S02): Table 'test.depot_test' doesn't exist

问题答案:

因此,首先以 root 身份登录或从终端调用任何root用户

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”



 类似资料:
  • 问题内容: $ ./mysqladmin -u root -p ‘ 编辑 ‘ 输入密码: mysqladmin:在“ localhost”处连接到服务器失败错误: “对用户“ root” @“ localhost”的访问被拒绝(使用密码:是) 我怎样才能解决这个问题? 问题答案: 打开并编辑或,具体取决于您的发行版。 添加下 重启MySQL 您现在应该可以使用以下命令登录mysql 跑 设置新密码

  • 我试图使用在cpanel上运行的SQL语句为MySQL用户授予管理员权限 但它给用户提供了拒绝错误: 我们正试图集成我们的网站“www.somewebsite.com”MySQL数据库与桃树会计软件使用戴尔Boomi原子球。 根据戴尔布米论坛。他们在链接中回复。 https://community.boomi.com/message/8983 phpMyAdmin页面上没有全局特权选项。Cpane

  • 问题内容: 我想开始在MySQL中编写查询。 显示: 我没有任何用户ID,但是当我要成为一个用户时,我没有特权,即使我没有一个用户,我也不知道如何授予特权! 我试图以root用户身份登录: 问题答案: 不,您应该在bash中运行,而不是在MySQL命令行中运行。如果您使用的是mysql,则可以输入 exit退出 。

  • $./mysqladmin-u root-p“redacted” 输入密码: mysqladmin:连接到“localhost”的服务器失败错误: “拒绝用户”root“@"localhost”的访问(使用密码:YES)“ 我该怎么解决这个?

  • 我正在设置一个新的服务器,但一直遇到这个问题。 当我尝试使用root用户登录MySQL数据库时,我得到了以下错误: 错误1698(28000):拒绝用户'root'@'localhost'的访问 不管我是通过终端(SSH)连接,还是通过PHPMyAdmin或MySQL客户端(例如Navicat)连接。他们都失败了。 我查看了mysql.user表,得到了以下信息: 如您所见,root用户应该具有访

  • 问题内容: $ ./mysqladmin -u root -p ‘ 编辑 ‘ 输入密码: mysqladmin:在“ localhost”处连接到服务器失败错误: “对用户“ root” @“ localhost”的访问被拒绝(使用密码:是) 我怎样才能解决这个问题? 问题答案: 打开并编辑或,具体取决于您的发行版。 在下添加 重启MySQL 您现在应该可以使用以下命令登录mysql 跑 设置新密