2

编辑:我重新安装了 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;

用户的授权是:

授权使用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 查询将毫无问题地工作。

有任何想法吗?

4

2 回答 2

1

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

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

使用权限告诉服务器这个用户被允许使用 MySQL

于 2011-09-21T15:15:11.667 回答
1

重新安装解决了这个问题。不知道是什么问题。

于 2011-10-28T02:52:00.897 回答