如何将某个用户限制为MySQL数据库中的一个表

如何将某个用户限制为MySQL数据库中的一个表,mysql,Mysql,我的数据库是我的网络托管公司提供给我的标准MySQL数据库 我已尝试发出此GRANT命令,将SELECT、INSERT和UPDATE权限授予特定表上的指定用户 GRANT select, insert, update ON database.table TO RestrictedUser 出于某种原因,这是对这个错误的回击 #1142 - GRANT command denied to user 'adminuser'@'localhost' for table 'tablename' 我正

我的数据库是我的网络托管公司提供给我的标准MySQL数据库

我已尝试发出此GRANT命令,将SELECT、INSERT和UPDATE权限授予特定表上的指定用户

GRANT select, insert, update ON database.table TO RestrictedUser
出于某种原因,这是对这个错误的回击

#1142 - GRANT command denied to user 'adminuser'@'localhost' for table 'tablename'
我正在使用我的托管公司提供的PHPMyAdmin,所以我应该拥有完整的管理权限,对吗


注意-为了安全起见,我已经编辑掉了实际的表名。

如果您在共享多租户MySQL数据库中工作,您可能没有授予特权。你的下一步行动是向你的托管公司开一张支持票,询问他们如何做你想做的事情


如果他们说“我们不允许这样做”,不要太惊讶。运行大规模多租户MySQL实例是一项风险业务,限制用户帐户的权限是托管公司(尤其是廉价公司)降低风险的一种方式。

adminuser
似乎没有
授予
权限。您应该在共享主机上有一个具有适当权限的用户来设置类似的内容。您的语句如下所示:
将db.table上的SELECT、INSERT、DELETE授予“@”
然后,哪个帐户将授予我权限?我使用的是在网络托管公司的PHPMyAdmin实例中创建的帐户。如果你有cPanel或类似的东西,你可能想从那里转到MySQL,创建一个拥有所有权限的全新用户…并在类似情况下节省使用它。我有一个专门为此目的创建的用户。当我使用托管公司的PHPMyAdmin实例时,它不会给我一个作为任何特定用户登录的选项。我单击按钮,它会为我打开MyAdmin。在PHPMyAdmin中,左上角可能会显示为PHPMyAdmin。下面可能有一些图标。一个可能是查询窗口。点击它。键入
选择当前用户
,然后单击Go。记住输出。返回查询窗口并键入
show grant
。您感兴趣的数据库上的一次授予必须显示
将所有特权授予db.*这是有意义的。我正准备建议我开一张支持票,所以我想我现在就这样做。谢谢