Mysql用户可以从表中选择,但不能从视图中选择

时间:2012-03-05 23:03:20

标签: mysql amazon-ec2

我有一个mysql数据库,我在其上创建用户,并授予他们在特定数据库上的选择,更新,插入和删除。

数据库包含表和视图。由于某些原因,这些创建的用户在尝试从视图中进行选择时会出现以下错误。

Access denied for user 'someuser'@'%' (using password: YES)

SELECT * FROM (`someview`) WHERE `somecolumn` = 0

但是,从同一数据库中的表中进行选择时,我不会收到此错误。

我已将此应用程序部署到多个地方,并且在其他任何地方都可以使用,包括使用amazon rds。这个特殊的实例是在amazon ec2上运行的mysql服务器。

2 个答案:

答案 0 :(得分:20)

解决了它。错误消息具有误导性。

原因是作为视图定义者的用户不再存在,而不是从视图中选择的用户。

我重新创建了这个用户,一切都很好。

答案 1 :(得分:0)

您可能会遇到这样的原因:

  • 可能是您用来访问此用户的用户对此特定表没有足够的权限。
  • 可能是用户名或密码不匹配。
  • 可能是指定主机的用户不存在。