2015-09-27 40 views
1

我试图在phpMyAdmin执行查询,并得到错误:为什么SQL foribben执行SELECT查询?

#1142 - SELECT command denied to user 'cpses_tkdpmnyjWW'@'localhost' for table 'user' 

因此,用户cpses_tkdpmnyjWW'@'localhost是动态创建的,我不能为此用户设置权限。 如何解决这个问题?

+1

你是什么意思“我无法设置此用户的权限”?为什么不?如果你能够创建它,你显然有写权限的用户帐户。 – arkascha

回答

1

使用SHOW GRANTS来显示您当前的用户权限。这听起来好像输出可能类似于:

GRANT USAGE ON *.* TO 'Unnamed'@'localhost' 

这将意味着该帐户可以登录到服务器,但别无其他。 This page给出了更详细的分解,你会看到有不少排列。

解决方案是您需要找到具有更多权限的帐户或创建/更新权限。

如果上述不是选项,我可以尝试的一个快速技巧是连接到'127.0.0.1'而不是'localhost'。在MySQL中,连接的来源可以构成用户名的一部分,所以如果你使用Unix风格的操作系统,连接IP而不是套接字是合理的。

此外,如果您具有对服务器的管理员/ root访问权限,则可以在MySQL启动时创建用户,这在某些情况下非常有用。

+0

问题是,如果当前会话,我不能为用户设置'GRANT',因为在用户改变之后。 – Muhad

+0

嗨,穆哈,你能澄清一下吗?我认为askaschas评论是相关的。也许在你的问题中解释如何创建用户帐户。 –

+0

此帐户暂时在phpmyadmin中为当前会话 – Muhad