MySQL 授予用户@“主机”行为不符合预期
编辑:我重新安装了 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
取消所有授权后,首先应将使用权限授予用户。
使用权限告诉服务器该用户可以使用MySQL
After taking away all the grants, first you should give the usage privilege to the user.
Usage privilege tells the server that this user is allowed to use MySQL
重新安装解决了该问题。不确定问题是什么。
Reinstalling fixed the issue. Not sure what the problem was.