MySQL 授予用户@“主机”行为不符合预期

发布于 2024-12-05 21:36:42 字数 873 浏览 1 评论 0原文

编辑:我重新安装了 MySQL 并且这个问题自行修复了。不知道问题是什么。


我从命令行在 MySQL 中运行了以下命令:

1. REVOKE ALL PRIVILEGES ON MyDB.* FROM user@'%';
2. DROP USER user@'%";
3. GRANT INSERT,SELECT,DELETE,UPDATE ON MyDB.* TO user@'%' IDENTIFIED BY 'somepassword';
4. FLUSH PRIVILEGES;

用户的授权是:

GRANT USAGE ON . to 'user'@'%' IDENTIFIED BY PASSWORD GRANT SELECT,INSERT,UPDATE,DELETE ON 'MyDB'.* TO 'user'@'%'

但是当我尝试进行更新时,我收到以下错误消息。

UPDATE command denied to user 'user'@'somehost' for table 'sometable'

相关信息:

SELECT、INSERT 和 DELETE 均正常工作。

我使用 C# 和 Connector/NET

'somehost' 与服务器(不同的计算机)位于同一网络上。

'sometable' 在 MyDB 中。

如果我在主机上使用“用户”登录服务器,更新查询就可以正常工作。

编辑:

如果我将 UPDATE、SELECT、INSERT、DELETE 授予 user@'somehost.net',则 UPDATE 查询可以正常工作。

有什么想法吗?

EDIT: I reinstalled MySQL and this fixed itself. No idea what the issue was.


I ran the following commands in MySQL from the command line:

1. REVOKE ALL PRIVILEGES ON MyDB.* FROM user@'%';
2. DROP USER user@'%";
3. GRANT INSERT,SELECT,DELETE,UPDATE ON MyDB.* TO user@'%' IDENTIFIED BY 'somepassword';
4. FLUSH PRIVILEGES;

The grants for the user are:

GRANT USAGE ON . to 'user'@'%' IDENTIFIED BY PASSWORD
GRANT SELECT,INSERT,UPDATE,DELETE ON 'MyDB'.* TO 'user'@'%'

But then I get the following error message when I try to do an update.

UPDATE command denied to user 'user'@'somehost' for table 'sometable'

Relevant info:

SELECT,INSERT, and DELETE all work properly.

I am using C# with Connector/NET

'somehost' is on the same network as the server (different computer).

'sometable' is in MyDB.

If I log in to the server with 'user' on the host machine, update queries work just fine.

EDIT:

If I grant UPDATE,SELECT,INSERT,DELETE to user@'somehost.net', UPDATE queries work without a problem.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怼怹恏 2024-12-12 21:36:42

取消所有授权后,首先应将使用权限授予用户。

GRANT USAGE on MyDB.* to 'user'@'localhost'

使用权限告诉服务器该用户可以使用MySQL

After taking away all the grants, first you should give the usage privilege to the user.

GRANT USAGE on MyDB.* to 'user'@'localhost'

Usage privilege tells the server that this user is allowed to use MySQL

喜你已久 2024-12-12 21:36:42

重新安装解决了该问题。不确定问题是什么。

Reinstalling fixed the issue. Not sure what the problem was.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文